/* TEO map header and checkout — final isolated layer, 2026-09-17. */

.taxi-home [hidden] {
  display: none !important;
}

/* Address database, compact map copy and delivery details. */
@media (max-width: 760px) {
  .taxi-home #step1 .route-panel .route-group-from > .field:first-child,
  .taxi-home #step1 .route-panel .route-group-to > .field:first-child {
    display: grid !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 0 3px !important;
    border: 0 !important;
    background: transparent !important;
  }
  .taxi-home #step1 .route-panel .route-group-from > .field:first-child .field-content,
  .taxi-home #step1 .route-panel .route-group-to > .field:first-child .field-content {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
  }
  .taxi-home #step1 .route-panel .route-group > .field:first-child label {
    margin: 0 !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }
  .taxi-home #step1 .route-panel .route-group > .field:first-child select {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 28px !important;
    padding: 0 22px 0 8px !important;
    border: 1px solid #344354 !important;
    border-radius: 9px !important;
    background-color: #172230 !important;
    color: #dbe4ef !important;
    -webkit-text-fill-color: #dbe4ef !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }
  .taxi-home #step1 .route-panel .taxi-address-field {
    min-height: 64px !important;
    padding: 7px 0 11px !important;
  }
  .taxi-home #step1 .route-panel input,
  .taxi-home #step1 .route-panel input::placeholder {
    font-size: 13px !important;
  }
  .taxi-home #step1 .taxi-address-suggestions.open {
    display: block !important;
    z-index: 2500 !important;
  }
  .taxi-home #step1 .taxi-address-option strong { font-size: 10px !important; }
  .taxi-home #step1 .taxi-address-option small { font-size: 9px !important; }

  .taxi-home .unified-map-shell.map-open .taxi-map-head > div:first-child strong {
    font-size: 18px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-city-tools select {
    font-size: 14px !important;
  }
  .taxi-home .unified-map-shell.map-open #taxiPointModeLabel,
  .taxi-home .unified-map-shell.map-open .taxi-center-address strong {
    font-size: 12px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-center-address span {
    font-size: 14px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-confirm {
    font-size: 14px !important;
  }

  .taxi-home #step2 .taxi-delivery-fields input,
  .taxi-home #step2 .taxi-delivery-fields select {
    display: block !important;
    width: 100% !important;
    min-height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    background-color: transparent !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 16px !important;
    line-height: 32px !important;
  }
  .taxi-home #step2 .taxi-delivery-fields select option {
    color: #111 !important;
    background: #fff !important;
  }
  .taxi-home #step2 .taxi-delivery-note {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 10px 2px 0 !important;
    color: #d8dee7 !important;
    font-size: 12px !important;
  }
  .taxi-home #step2 .taxi-delivery-note > span {
    display: grid !important;
    place-items: center !important;
    width: 17px !important;
    height: 17px !important;
    border: 1px solid currentColor !important;
    border-radius: 50% !important;
    font: 800 11px/1 Inter,sans-serif !important;
  }
}

/* Final schedule scale: labels and segmented actions are compact; selects stay 16px to prevent Safari zoom. */
.taxi-home #step2 .options-row .option-btn { font-size: 11px !important; }
.taxi-home #step2 .time-row .field-content label { font-size: 9px !important; }
.taxi-home #step2 .time-row .field-content select { font-size: 16px !important; font-weight: 650 !important; }

/* Address results are part of the form flow, never a floating layer over B. */
.taxi-home #step1 .route-panel .taxi-address-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 94px !important;
  align-items: center !important;
  column-gap: 9px !important;
  row-gap: 8px !important;
  height: auto !important;
  overflow: visible !important;
}

/* The desktop tariff image must occupy exactly its own grid column. */
.taxi-home a.hero-cta-driver,
.taxi-home .driver-text > a.btn-yellow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}
.taxi-home #step2 .taxi-tariff-row {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
}
.taxi-home #step2 .taxi-tariff-row > .taxi-car-icon {
  box-sizing: border-box !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.taxi-home #step2 .taxi-tariff-row > .taxi-car-icon img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 4px !important;
}
.taxi-home #step2 .taxi-tariff-row > div:nth-child(2) {
  min-width: 0 !important;
}

/* One measured A–C–B rail: equal circles, exact shared axis and a dashed line. */
.taxi-home #step1 .route-panel::before,
.taxi-home #step1 .route-panel .route-group::before {
  display: none !important;
}
.taxi-home #step1 .route-panel {
  position: relative !important;
}
.taxi-home #step1 .taxi-route-rail {
  position: absolute !important;
  z-index: 4 !important;
  inset: 0 auto 0 28px !important;
  width: 20px !important;
  pointer-events: none !important;
}
.taxi-home #step1 .taxi-route-rail > i {
  position: absolute !important;
  top: var(--rail-a) !important;
  left: 9px !important;
  width: 0 !important;
  height: var(--rail-length) !important;
  border-left: 2px dashed rgba(255, 196, 0, .72) !important;
}
.taxi-home #step1 .taxi-route-rail > span {
  position: absolute !important;
  left: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  transform: translateY(-50%) !important;
  box-shadow: 0 2px 7px rgba(0,0,0,.26) !important;
}
.taxi-home #step1 .taxi-route-rail > span[hidden] { display: none !important; }
.taxi-home #step1 .taxi-route-rail .rail-a { top: var(--rail-a) !important; background: #4e94ff !important; }
.taxi-home #step1 .taxi-route-rail .rail-c { top: var(--rail-c) !important; background: #ffc400 !important; }
.taxi-home #step1 .taxi-route-rail .rail-b { top: var(--rail-b) !important; background: #fff !important; border-color: #dfe5ec !important; }

/* The saved pin tip and Leaflet anchor are the same 44×56 geometry everywhere. */
.taxi-home .taxi-point-marker,
.taxi-home .hero-route-pin {
  width: 44px !important;
  height: 56px !important;
  /* Leaflet positions divIcons by their top-left corner. Keep the visual tip
     exactly on the saved LatLng instead of cancelling the iconAnchor offset. */
  margin-left: -22px !important;
  margin-top: -56px !important;
}
.taxi-home .taxi-point-marker .teo-map-pin,
.taxi-home .hero-route-pin .teo-map-pin,
.taxi-home .hero-center-pin .teo-map-pin {
  position: absolute !important;
  inset: 0 !important;
  width: 44px !important;
  height: 56px !important;
}
.taxi-home .taxi-point-marker .teo-map-pin::after,
.taxi-home .hero-route-pin .teo-map-pin::after,
.taxi-home .hero-center-pin .teo-map-pin::after {
  top: 36px !important;
  bottom: auto !important;
  height: 20px !important;
}

/* The confirmation map uses compact centered route dots, not draggable pins. */
.taxi-home .taxi-review-point {
  width: 40px !important;
  height: 40px !important;
  margin-left: -14px !important;
  margin-top: -14px !important;
  border: 0 !important;
  background: transparent !important;
}
.taxi-home .taxi-review-point > span {
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 28px !important;
  height: 28px !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #4e94ff !important;
  box-shadow: 0 3px 9px rgba(0,0,0,.28) !important;
  font: 900 11px/1 Inter,sans-serif !important;
}
.taxi-home .taxi-review-point.review-b > span { color: #111820 !important; background: #fff !important; border-color: #111820 !important; }
.taxi-home .taxi-review-point.review-c > span { color: #111820 !important; background: #ffc400 !important; }

/* Compact schedule typography while keeping form controls at iOS-safe size. */
.taxi-home #step2 .option-btn { font-size: 11px !important; }
.taxi-home #step2 .time-row .field-content label { font-size: 9px !important; }
.taxi-home #step2 .time-row .field-content select { font-size: 16px !important; font-weight: 650 !important; }

/* Driver advantages use native yellow line icons; the car is smaller and calmer. */
.taxi-home .driver-list li > svg {
  box-sizing: border-box !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  padding: 12px !important;
  border: 1px solid rgba(255,196,0,.32) !important;
  border-radius: 50% !important;
  color: #ffc400 !important;
  background: rgba(255,196,0,.11) !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.taxi-home .driver-route-car,
.taxi-home .driver-route-car img {
  width: 58px !important;
  height: 58px !important;
}
.taxi-home .driver-route-car img {
  object-fit: contain !important;
  transition: none !important;
}

@media (max-width: 760px) {
  .taxi-home #step1 .taxi-address-field { scroll-margin-top: 88px !important; }
  .taxi-home #step1 .taxi-route-rail { left: 28px !important; }
}
.taxi-home #step1 .route-panel .taxi-address-field:focus-within {
  background: transparent !important;
  border-color: transparent !important;
}
.taxi-home #step1 .route-panel .taxi-address-field > .field-content {
  grid-column: 1 !important;
  min-width: 0 !important;
}
.taxi-home #step1 .route-panel .taxi-address-field > .taxi-pick-map-btn {
  grid-column: 2 !important;
}
.taxi-home #step1 .route-panel .taxi-address-field input:focus {
  outline: none !important;
  box-shadow: none !important;
}
.taxi-home #step1 .route-panel .taxi-house-field {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 10px !important;
  row-gap: 3px !important;
  min-width: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid #344354 !important;
  border-radius: 11px !important;
  background: #172230 !important;
}
.taxi-home #step1 .route-panel .taxi-house-field label {
  margin: 0 !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
.taxi-home #step1 .route-panel .taxi-house-field input {
  min-width: 0 !important;
  width: 100% !important;
  height: 25px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  text-align: right !important;
}
.taxi-home #step1 .route-panel .taxi-house-field input::placeholder {
  color: #8493a7 !important;
  -webkit-text-fill-color: #8493a7 !important;
  font-size: 13px !important;
  opacity: 1 !important;
}
.taxi-home #step1 .route-panel .taxi-house-field small {
  grid-column: 1 / -1 !important;
  color: #adbac9 !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}
.taxi-home #step1 .route-panel .taxi-house-field small:empty {
  display: none !important;
}
.taxi-home #step1 .route-panel .taxi-address-suggestions.open {
  position: relative !important;
  z-index: 2 !important;
  grid-column: 1 / -1 !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  display: block !important;
  width: 100% !important;
  max-height: min(28dvh, 190px) !important;
  margin: 1px 0 4px !important;
  padding: 4px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  border: 1px solid #344354 !important;
  border-radius: 12px !important;
  background: #192431 !important;
  box-shadow: none !important;
  scrollbar-width: thin !important;
}
.taxi-home #step1 .route-panel .taxi-address-option {
  min-height: 45px !important;
  border-color: #344354 !important;
  background: #192431 !important;
  color: #fff !important;
}
.taxi-home #step1 .route-panel .taxi-address-option:hover,
.taxi-home #step1 .route-panel .taxi-address-option:focus-visible {
  background: #26374a !important;
}
.taxi-home #step1 .route-panel .taxi-address-option strong { color: #fff !important; font-size: 12px !important; }
.taxi-home #step1 .route-panel .taxi-address-option small { color: #a8b6c8 !important; font-size: 10px !important; }

@media (max-width: 390px) {
  .taxi-home #step1 .route-panel .taxi-address-field {
    grid-template-columns: minmax(0, 1fr) 84px !important;
  }
  .taxi-home #step1 .route-panel .taxi-house-field {
    grid-template-columns: 1fr 1fr !important;
  }
}

.taxi-home #step1 .web-quote-preview {
  display: flex !important;
}
.taxi-home #step1 .web-quote-preview[hidden],
.taxi-home #step1 #taxiQuote[hidden],
.taxi-home #step1 .quick-order-option-panel[hidden],
.taxi-home #step1 .quick-option-list[hidden] {
  display: none !important;
}
.taxi-home #step1 .order-quick-options button[aria-expanded="true"],
.taxi-home #step1 .order-quick-options button.selected {
  border-color: rgba(255, 203, 22, .72) !important;
  background: rgba(255, 203, 22, .11) !important;
}
.taxi-home #step1 .order-quick-options button[aria-expanded="true"] .quick-chevron {
  transform: rotate(90deg) !important;
}
.taxi-home #step1 .quick-order-option-panel {
  margin: -4px 0 12px !important;
  padding: 6px !important;
  border: 1px solid #324052 !important;
  border-radius: 16px !important;
  background: #111922 !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .25) !important;
}
.taxi-home #step1 .quick-option-list {
  display: grid !important;
  gap: 5px !important;
}
.taxi-home #step1 .quick-option-list > button {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 9px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: #1a232e !important;
  color: #fff !important;
  text-align: left !important;
}
.taxi-home #step1 .quick-option-list > button:has(img) {
  grid-template-columns: 54px minmax(0, 1fr) 24px !important;
}
.taxi-home #step1 .quick-option-list > button.active {
  border-color: rgba(255, 203, 22, .46) !important;
  background: rgba(255, 203, 22, .09) !important;
}
.taxi-home #step1 .quick-option-list img {
  width: 50px !important;
  height: 38px !important;
  padding: 4px !important;
  border-radius: 9px !important;
  background: #fff !important;
  object-fit: contain !important;
}
.taxi-home #step1 .quick-option-list span,
.taxi-home #step1 .quick-option-list b,
.taxi-home #step1 .quick-option-list small {
  display: block !important;
}
.taxi-home #step1 .quick-option-list b {
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}
.taxi-home #step1 .quick-option-list small {
  margin-top: 3px !important;
  color: #97a3b2 !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}
.taxi-home #step1 .quick-option-list i {
  display: grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  border: 1px solid #495666 !important;
  border-radius: 50% !important;
  color: transparent !important;
  font-size: 12px !important;
  font-style: normal !important;
}
.taxi-home #step1 .quick-schedule-fields {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(72px, .75fr) minmax(62px, .62fr) !important;
  gap: 6px !important;
  padding: 7px 2px 2px !important;
}
.taxi-home #step1 .quick-schedule-fields[hidden] {
  display: none !important;
}
.taxi-home #step1 .quick-schedule-fields label {
  display: block !important;
  min-width: 0 !important;
  padding: 8px 9px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 11px !important;
  background: #171f29 !important;
}
.taxi-home #step1 .quick-schedule-fields label > span {
  margin: 0 0 3px !important;
  color: #929eae !important;
  font-size: 9px !important;
  font-weight: 700 !important;
}
.taxi-home #step1 .quick-schedule-fields select {
  display: block !important;
  width: 100% !important;
  height: 26px !important;
  padding: 0 15px 0 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.taxi-home #step1 .quick-option-list > button.active i {
  border-color: #ffcb16 !important;
  background: #ffcb16 !important;
  color: #11161d !important;
}

@media (max-width: 760px) {
  /* Put the context and city on one compact row so the map gets more height. */
  .taxi-home .unified-map-shell.map-open .taxi-map-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(112px, 145px) 40px !important;
    grid-template-rows: 44px !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 64px !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(113, 151, 196, .22) !important;
    border-radius: 0 !important;
    background: #0d1b2b !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .24) !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-head > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    align-self: center !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-head > div:first-child strong {
    overflow: hidden !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-head > div:first-child span {
    display: none !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-city-tools {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-city-tools select {
    display: block !important;
    width: 100% !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 34px 0 11px !important;
    border: 1px solid #38516f !important;
    border-radius: 12px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #14253a !important;
    color: #f5f8fc !important;
    -webkit-text-fill-color: #f5f8fc !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 40px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-city-tools::after {
    right: 11px !important;
    width: 15px !important;
    height: 15px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-actions {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-head .taxi-map-actions > button.taxi-map-close {
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-close img {
    width: 17px !important;
    height: 17px !important;
  }
  .taxi-home .unified-map-shell.map-open .leaflet-top.leaflet-right {
    top: 50% !important;
    right: 12px !important;
    transform: translateY(-50%) !important;
  }

  /* Step 2 is one stable layout system, independent from the earlier card styles. */
  .taxi-home .order-card:has(#step2.active) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: -22px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 26px 26px 0 0 !important;
    background: #0d131b !important;
    box-shadow: 0 -16px 42px rgba(0, 0, 0, .2) !important;
    transform: none !important;
  }
  .taxi-home .order-card:has(#step2.active)::after {
    display: none !important;
    content: none !important;
  }
  .taxi-home #step2 {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 14px calc(24px + env(safe-area-inset-bottom)) !important;
    overflow: clip !important;
    border-radius: 26px 26px 0 0 !important;
    background: #0d131b !important;
    color: #f7f8fa !important;
    box-sizing: border-box !important;
  }
  .taxi-home #step2 * {
    min-width: 0;
    box-sizing: border-box;
  }
  .taxi-home #step2 .btn-back {
    width: max-content !important;
    min-height: 38px !important;
    margin: 0 0 14px !important;
    padding: 0 12px !important;
    gap: 7px !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 12px !important;
    background: #171e27 !important;
    color: #f6f7f9 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
  }
  .taxi-home #step2 .btn-back img {
    width: 14px !important;
    height: 14px !important;
    filter: brightness(0) invert(1) !important;
  }
  .taxi-home #step2 .checkout-heading {
    margin: 0 2px 16px !important;
    text-align: left !important;
  }
  .taxi-home #step2 .checkout-heading > span {
    margin: 0 0 6px !important;
    color: #ffcb16 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
  }
  .taxi-home #step2 .checkout-heading h3 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 25px !important;
    font-weight: 850 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }
  .taxi-home #step2 .checkout-heading p {
    margin: 7px 0 0 !important;
    color: #98a3b2 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .taxi-home #step2 .options-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;
    min-height: 48px !important;
    margin: 0 0 10px !important;
    padding: 4px !important;
    border: 1px solid rgba(255, 255, 255, .06) !important;
    border-radius: 14px !important;
    background: #151c25 !important;
  }
  .taxi-home #step2 .option-btn {
    min-height: 38px !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #8e99a8 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }
  .taxi-home #step2 .option-btn.active {
    background: #29323e !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .taxi-home #step2 .taxi-web-schedule {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(74px, .78fr) minmax(74px, .78fr) !important;
    gap: 7px !important;
    margin: 0 0 10px !important;
  }
  .taxi-home #step2 #time_input[style*="display:none"],
  .taxi-home #step2 #time_input[style*="display: none"] {
    display: none !important;
  }
  .taxi-home #step2 .taxi-web-schedule .field {
    display: block !important;
    min-height: 58px !important;
    padding: 9px 10px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 14px !important;
    background: #171e27 !important;
  }
  .taxi-home #step2 .taxi-web-schedule .field-icon {
    display: none !important;
  }
  .taxi-home #step2 .taxi-web-schedule .field-content {
    width: 100% !important;
  }
  .taxi-home #step2 .taxi-web-schedule label {
    display: block !important;
    margin: 0 0 3px !important;
    color: #939dab !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-web-schedule select {
    display: block !important;
    width: 100% !important;
    height: 28px !important;
    padding: 0 18px 0 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background-color: transparent !important;
    color: #f6f7f9 !important;
    -webkit-text-fill-color: #f6f7f9 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 28px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-web-schedule .schedule-day-field select {
    font-size: 12px !important;
    letter-spacing: -.01em !important;
  }

  .taxi-home #step2 .taxi-pickup-item {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto 42px !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 72px !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 16px !important;
    background: #171e27 !important;
    color: #fff !important;
    box-shadow: none !important;
  }
  .taxi-home #step2 .taxi-pickup-check {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(255, 203, 22, .42) !important;
    border-radius: 13px !important;
    background: rgba(255, 203, 22, .12) !important;
    color: #ffcb16 !important;
  }
  .taxi-home #step2 .taxi-pickup-check svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    opacity: 1 !important;
    stroke: currentColor !important;
  }
  .taxi-home #step2 .taxi-pickup-item input:checked + .taxi-pickup-check {
    border-color: #ffcb16 !important;
    background: #ffcb16 !important;
    color: #11161d !important;
  }
  .taxi-home #step2 .taxi-pickup-copy b {
    display: block !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
  .taxi-home #step2 .taxi-pickup-copy small {
    display: block !important;
    margin-top: 3px !important;
    color: #98a3b2 !important;
    font-size: 11px !important;
    line-height: 1.28 !important;
  }
  .taxi-home #step2 .taxi-pickup-item > strong {
    color: #ffcb16 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-pickup-switch {
    width: 42px !important;
    height: 25px !important;
    padding: 3px !important;
  }

  .taxi-home #step2 .taxi-delivery-fields {
    margin: 0 0 10px !important;
    padding: 10px !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 16px !important;
    background: #141b24 !important;
  }
  .taxi-home #step2 .taxi-delivery-fields .field {
    min-height: 56px !important;
    padding: 9px 11px !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 12px !important;
    background: #202832 !important;
  }
  .taxi-home #step2 .taxi-delivery-pair {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    margin-top: 7px !important;
  }
  .taxi-home #step2 .taxi-delivery-pair .field + .field {
    margin-top: 0 !important;
  }
  .taxi-home #step2 .taxi-delivery-fields label {
    color: #98a3b2 !important;
    font-size: 10px !important;
  }
  .taxi-home #step2 .taxi-delivery-fields input {
    height: 28px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 16px !important;
  }

  .taxi-home #step2 .taxi-review-card {
    display: grid !important;
    gap: 10px !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 18px !important;
    background: #151c24 !important;
    box-shadow: none !important;
  }
  .taxi-home #step2 .taxi-review-map {
    width: 100% !important;
    height: 155px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: #eef0ec !important;
  }
  .taxi-home #step2 .taxi-review-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 12px !important;
    padding: 1px 2px !important;
  }
  .taxi-home #step2 .taxi-review-head span {
    color: #98a3b2 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
  }
  .taxi-home #step2 .taxi-review-head > div:first-child strong {
    display: -webkit-box !important;
    margin-top: 4px !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }
  .taxi-home #step2 .taxi-review-time {
    text-align: right !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-review-time strong {
    display: block !important;
    margin-top: 3px !important;
    color: #ffcb16 !important;
    font-size: 19px !important;
    line-height: 1.1 !important;
  }
  .taxi-home #step2 .taxi-tariff-row {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 68px !important;
    padding: 8px !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 14px !important;
    background: #202832 !important;
    color: #fff !important;
  }
  .taxi-home #step2 .taxi-car-icon {
    display: grid !important;
    place-items: center !important;
    width: 54px !important;
    height: 50px !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    background: #f4f5f6 !important;
  }
  .taxi-home #step2 .taxi-car-icon img {
    display: block !important;
    width: 47px !important;
    height: 34px !important;
    object-fit: contain !important;
  }
  .taxi-home #step2 .taxi-tariff-row > div:nth-child(2) {
    overflow: hidden !important;
  }
  .taxi-home #step2 .taxi-tariff-row > div:nth-child(2) strong {
    display: block !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-tariff-row > div:nth-child(2) span {
    display: block !important;
    margin-top: 3px !important;
    overflow: hidden !important;
    color: #98a3b2 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-tariff-row > b {
    color: #ffcb16 !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-review-addon {
    margin: 0 !important;
    padding: 9px 11px !important;
    border: 1px solid rgba(255, 203, 22, .25) !important;
    border-radius: 11px !important;
    background: rgba(255, 203, 22, .08) !important;
    color: #c9d0d8 !important;
    font-size: 11px !important;
  }

  .taxi-home #step2 .taxi-payment-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 2px 0 0 !important;
  }
  .taxi-home #step2 .taxi-payment-title {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }
  .taxi-home #step2 .taxi-payment-heading > button {
    min-height: 32px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(255, 203, 22, .24) !important;
    border-radius: 10px !important;
    background: rgba(255, 203, 22, .06) !important;
    color: #ffcb16 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }
  .taxi-home #step2 .taxi-payment-options {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .taxi-home #step2 .taxi-payment-options button {
    display: grid !important;
    grid-template-columns: 16px minmax(0, auto) !important;
    align-content: center !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-height: 54px !important;
    padding: 7px 5px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 12px !important;
    background: #202832 !important;
    color: #e9edf2 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .taxi-home #step2 .taxi-payment-options button img {
    width: 16px !important;
    height: 16px !important;
    filter: brightness(0) invert(1) !important;
  }
  .taxi-home #step2 .taxi-payment-options button.active {
    border-color: #ffcb16 !important;
    background: #ffcb16 !important;
    color: #101318 !important;
  }
  .taxi-home #step2 .taxi-payment-options button.active img {
    filter: none !important;
  }
  .taxi-home #step2 .taxi-payment-options button small {
    grid-column: 1 / -1 !important;
    width: max-content !important;
    margin: 0 auto !important;
    padding: 2px 5px !important;
    border-radius: 5px !important;
    background: #5e6773 !important;
    color: #eef1f4 !important;
    font-size: 7px !important;
    line-height: 1 !important;
  }

  .taxi-home #step2 .taxi-promo-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
  }
  .taxi-home #step2 .taxi-promo-row input {
    width: 100% !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 12px !important;
    background: #202832 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 16px !important;
    line-height: 46px !important;
  }
  .taxi-home #step2 .taxi-promo-row input::placeholder {
    color: #98a3b2 !important;
    -webkit-text-fill-color: #98a3b2 !important;
    opacity: 1 !important;
  }
  .taxi-home #step2 .taxi-promo-row button {
    min-height: 46px !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #ffcb16 !important;
    color: #101318 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }

  .taxi-home #step2 #guestFields {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 16px !important;
    background: #171e27 !important;
  }
  .taxi-home #step2 #guestFields > .field,
  .taxi-home #step2 > .field {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
  }
  .taxi-home #step2 #guestFields > .field:last-child {
    border-bottom: 0 !important;
  }
  .taxi-home #step2 #code_field[style*="display:none"],
  .taxi-home #step2 #code_field[style*="display: none"],
  .taxi-home #step2 #authUserInfo[style*="display:none"],
  .taxi-home #step2 #authUserInfo[style*="display: none"] {
    display: none !important;
  }
  .taxi-home #step2 > .field {
    margin: 0 0 10px !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 16px !important;
    background: #171e27 !important;
  }
  .taxi-home #step2 .field-icon {
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    color: #dfe4ea !important;
  }
  .taxi-home #step2 .field-icon svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
  }
  .taxi-home #step2 .field-content {
    width: 100% !important;
  }
  .taxi-home #step2 .field-content label {
    display: block !important;
    margin: 0 0 3px !important;
    color: #98a3b2 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
  }
  .taxi-home #step2 .field-content input {
    display: block !important;
    width: 100% !important;
    height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    caret-color: #ffcb16 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 28px !important;
    text-overflow: ellipsis !important;
  }
  .taxi-home #step2 .field-content input::placeholder {
    color: #c0c7d0 !important;
    -webkit-text-fill-color: #c0c7d0 !important;
    opacity: 1 !important;
    font-size: 13px !important;
  }
  .taxi-home #step2 #authUserName {
    font-size: 13px !important;
  }
  .taxi-home #step2 .phone-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 62px !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .taxi-home #step2 .btn-sms {
    width: 62px !important;
    min-width: 62px !important;
    min-height: 36px !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #252d38 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }
  .taxi-home #step2 .sms-hint,
  .taxi-home #step2 .sms-timer,
  .taxi-home #step2 .sms-resend {
    margin-top: 4px !important;
    color: #7f8997 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }
  .taxi-home #step2 .terms-link {
    margin: 0 2px 10px !important;
    color: #8f99a7 !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    text-align: left !important;
  }
  .taxi-home #step2 .terms-link a {
    color: #ffcb16 !important;
  }
  .taxi-home #step2 #submitOrderBtn {
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #ffcb16 !important;
    color: #101318 !important;
    box-shadow: 0 12px 26px rgba(255, 196, 0, .16) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  /* 16px controls prevent iOS focus zoom; focus never changes dimensions. */
  .taxi-home #step2 input,
  .taxi-home #step2 select,
  .taxi-home #step2 textarea {
    max-width: 100% !important;
    font-size: 16px !important;
    transform: none !important;
  }
  .taxi-home #step2 input:focus,
  .taxi-home #step2 select:focus,
  .taxi-home #step2 textarea:focus {
    outline: none !important;
    transform: none !important;
    box-shadow: none !important;
  }
  .taxi-home #step2 .field:focus-within,
  .taxi-home #step2 .taxi-promo-row:focus-within {
    background: #1d2631 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 203, 22, .46) !important;
    transform: none !important;
  }
}

@media (max-width: 390px) {
  .taxi-home .unified-map-shell.map-open .taxi-map-head {
    grid-template-columns: minmax(0, 1fr) 108px 38px !important;
    padding: 9px 10px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-head > div:first-child strong {
    font-size: 14px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-city-tools select {
    padding-left: 9px !important;
    font-size: 13px !important;
  }
  .taxi-home .unified-map-shell.map-open .taxi-map-head .taxi-map-actions > button.taxi-map-close {
    width: 38px !important;
    height: 38px !important;
  }
  .taxi-home #step2 {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }
  .taxi-home #step2 .taxi-pickup-item {
    grid-template-columns: 40px minmax(0, 1fr) auto 38px !important;
    gap: 8px !important;
  }
  .taxi-home #step2 .taxi-pickup-check {
    width: 40px !important;
    height: 40px !important;
  }
  .taxi-home #step2 .taxi-pickup-copy small {
    font-size: 10px !important;
  }
  .taxi-home #step2 .taxi-tariff-row {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
  }
  .taxi-home #step2 .taxi-car-icon {
    width: 48px !important;
  }
  .taxi-home #step2 .taxi-tariff-row > b {
    font-size: 14px !important;
  }
  .taxi-home #step2 .taxi-promo-row button {
    padding: 0 10px !important;
    font-size: 10px !important;
  }
}

/* iOS Safari zooms the whole page when a focused form control is below 16px. */
@media (max-width: 760px) {
  .taxi-home #step1#step1 input,
  .taxi-home #step1#step1 select,
  .taxi-home #step1#step1 textarea,
  .taxi-home #step2#step2 input,
  .taxi-home #step2#step2 select,
  .taxi-home #step2#step2 textarea,
  .taxi-home #taxiMapCity#taxiMapCity {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
  }

  .taxi-home #step1#step1 input:focus,
  .taxi-home #step1#step1 select:focus,
  .taxi-home #step1#step1 textarea:focus,
  .taxi-home #step2#step2 input:focus,
  .taxi-home #step2#step2 select:focus,
  .taxi-home #step2#step2 textarea:focus,
  .taxi-home #taxiMapCity#taxiMapCity:focus {
    transform: none !important;
  }
}

/* taxitet.com reference hero, 2026-09-18. The existing content width is preserved. */
.taxi-home .nav {
  border-color: rgba(255,255,255,.96) !important;
  border-radius: 23px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 18px 55px rgba(45,38,24,.10), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(28px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(170%) !important;
}
.taxi-home .nav-inner {
  min-height: 76px !important;
  padding: 9px clamp(16px,2vw,30px) !important;
  gap: clamp(10px,1.15vw,20px) !important;
}
.taxi-home .nav-logo img {
  width: clamp(120px,8.5vw,146px) !important;
  height: 50px !important;
}
.taxi-home .nav-tagline {
  flex: 0 0 auto;
  min-width: 110px;
  padding-left: 17px;
  border-left: 1px solid rgba(17,20,24,.10);
  color: #7c828b;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}
.taxi-home .nav-phone { display: none !important; }
.taxi-home .service-switcher {
  border-color: rgba(18,21,25,.05) !important;
  background: rgba(241,241,239,.88) !important;
  box-shadow: inset 0 1px 0 #fff !important;
}
.taxi-home .sw-btn.active {
  border-color: rgba(232,177,0,.16) !important;
  background: linear-gradient(145deg,#ffedac,#ffdc65) !important;
  box-shadow: 0 8px 20px rgba(190,137,0,.14), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.taxi-home .nav-links { gap: clamp(14px,1.65vw,28px) !important; }
.taxi-home .nav-links a { color: #333841 !important; font-weight: 650 !important; }
.taxi-home .nav-driver-btn {
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,#ffd51a,#f9bd00) !important;
  color: #101216 !important;
  box-shadow: 0 12px 24px rgba(207,151,0,.17) !important;
}
.taxi-home .nav-login {
  min-height: 46px !important;
  gap: 8px !important;
  border: 1px solid rgba(20,24,29,.09) !important;
  background: rgba(255,255,255,.78) !important;
  color: #191c20 !important;
  box-shadow: 0 9px 22px rgba(20,24,29,.06), inset 0 1px 0 #fff !important;
}
.taxi-home .nav-login::before {
  content: "";
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  background: url('/static/icons/person-check.svg') center/contain no-repeat;
}

.taxi-home .hero {
  padding-top: 16px !important;
  padding-bottom: 26px !important;
  grid-template-columns: minmax(420px,.82fr) minmax(620px,1.18fr) !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  column-gap: clamp(32px,4.2vw,76px) !important;
  row-gap: 18px !important;
}
.taxi-home .hero-topbar {
  position: relative;
  z-index: 12;
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 54px;
}
.taxi-home .hero-topbar .hero-badge {
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-color: rgba(204,157,16,.16) !important;
  background: rgba(255,250,232,.78) !important;
  color: #795d12 !important;
  box-shadow: 0 8px 24px rgba(88,68,17,.04), inset 0 1px 0 #fff !important;
}
.taxi-home .hero-phone-card {
  min-height: 54px;
  padding: 7px 20px 7px 15px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(212,174,69,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  color: #111318;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(35,31,23,.05), inset 0 1px 0 #fff;
  backdrop-filter: blur(18px);
}
.taxi-home .hero-phone-card > img { width: 21px; height: 21px; }
.taxi-home .hero-phone-card span,
.taxi-home .hero-phone-card strong,
.taxi-home .hero-phone-card small { display: block; }
.taxi-home .hero-phone-card strong { font-size: 15px; font-weight: 900; line-height: 1.15; }
.taxi-home .hero-phone-card small { margin-top: 4px; color: #868b93; font-size: 10px; line-height: 1.1; }
.taxi-home .hero-left {
  min-height: 815px !important;
  max-width: 660px !important;
  padding: 34px 0 275px !important;
}
.taxi-home .hero-kicker {
  margin: 0 0 20px;
  color: #7c838d;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .31em;
  line-height: 1.4;
}
.taxi-home .hero-kicker i { margin: 0 8px; color: #a1a6ad; font-style: normal; }
.taxi-home .hero h1 {
  max-width: 610px !important;
  font-size: clamp(62px,5.15vw,88px) !important;
  line-height: .91 !important;
  letter-spacing: -.047em !important;
}
.taxi-home .hero-sub {
  max-width: 580px;
  margin-top: 22px !important;
  font-size: clamp(16px,1.05vw,19px) !important;
  line-height: 1.48 !important;
}
.taxi-home .hero-cta-row {
  display: flex !important;
  margin-top: 24px !important;
  gap: 12px !important;
}
.taxi-home .hero-cta {
  width: auto !important;
  min-height: 58px !important;
  padding: 0 24px !important;
  border-radius: 16px !important;
  font-size: 14px !important;
}
.taxi-home .hero-cta-driver { display: none !important; }
.taxi-home .hero-feats {
  max-width: 610px !important;
  margin-top: 26px !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 9px !important;
}
.taxi-home .hero-feat {
  min-height: 78px !important;
  padding: 9px !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0,1fr) !important;
  gap: 8px !important;
  border: 1px solid rgba(255,255,255,.92) !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 12px 30px rgba(37,33,25,.06), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(17px) !important;
}
.taxi-home .hero-feat > img {
  width: 36px !important;
  height: 36px !important;
  padding: 8px !important;
  border-radius: 12px !important;
}
.taxi-home .hero-feat b { color: #171a1f !important; font-size: 10px !important; }
.taxi-home .hero-feat small { color: #858b94 !important; font-size: 8px !important; }
.taxi-home .site-hero-car {
  position: absolute;
  z-index: -1;
  left: clamp(-78px,-4vw,-32px);
  bottom: -4px;
  width: min(690px,48vw);
  height: auto;
  display: block;
  object-fit: contain;
  pointer-events: none;
  filter: drop-shadow(0 24px 26px rgba(54,44,22,.15));
}

.taxi-home .hero-right {
  height: 815px !important;
  min-height: 815px !important;
}
.taxi-home .hero-live-map {
  inset: 0 0 105px 0 !important;
  width: calc(100% + max(0px,(100vw - 1800px)/2)) !important;
  height: auto !important;
  border-color: rgba(255,255,255,.92) !important;
  border-radius: 30px 0 0 30px !important;
  background: rgba(235,240,226,.74) !important;
  box-shadow: 0 24px 70px rgba(47,44,32,.11), inset 0 1px 0 #fff !important;
}
.taxi-home #heroRouteMap { background: #edf0e5 !important; }
.taxi-home #heroRouteMap .leaflet-tile-pane {
  opacity: .70 !important;
  filter: saturate(.68) contrast(.90) brightness(1.12) !important;
}
.taxi-home .hero-live-map::before {
  content: "";
  position: absolute;
  z-index: 410;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(255,251,240,.34),rgba(255,255,255,.04) 50%,rgba(255,255,255,.14));
}
.taxi-home .hero-live-map.is-picking {
  z-index: auto !important;
  box-shadow: 0 24px 70px rgba(47,44,32,.11), inset 0 1px 0 #fff !important;
}
.taxi-home .hero-live-map.is-picking ~ .order-card {
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: translateY(-50%) !important;
}
.taxi-home .hero-live-map .leaflet-top.leaflet-right {
  top: 94px !important;
  right: 17px !important;
}
.taxi-home .hero-live-map .leaflet-control-zoom {
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(18,21,25,.08) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 10px 26px rgba(20,23,28,.13) !important;
}
.taxi-home .hero-live-map .leaflet-control-zoom a {
  width: 42px !important;
  height: 42px !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.96) !important;
  color: #111318 !important;
  font-size: 23px !important;
}
.taxi-home .hero-live-map .leaflet-control-zoom a + a { border-top: 1px solid rgba(18,21,25,.08) !important; }
.taxi-home .hero-locate-btn {
  right: 17px !important;
  top: 193px !important;
  bottom: auto !important;
  width: 44px !important;
  height: 44px !important;
  border-color: rgba(18,21,25,.08) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.95) !important;
  box-shadow: 0 10px 25px rgba(20,23,28,.13) !important;
}
.taxi-home .hero-live-map.is-picking .hero-locate-btn { bottom: auto !important; }
.taxi-home .hero-map-picker {
  top: 18px !important;
  right: 18px !important;
  bottom: auto !important;
  min-height: 55px !important;
  padding: 7px !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  border-radius: 17px !important;
}
.taxi-home .hero-map-picker[hidden] { display: none !important; }
.taxi-home .hero-map-picker > span { max-width: 114px; padding: 0 6px; color: #757c85; font-size: 9px; font-weight: 750; line-height: 1.25; }
.taxi-home .hero-map-picker > button {
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 1px solid rgba(20,24,29,.08) !important;
  border-radius: 11px !important;
  background: #f3f3f0 !important;
  color: #4c535d !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.taxi-home .hero-map-picker > button.active { border-color: #f5c400 !important; background: #ffcb16 !important; color: #111318 !important; }
.taxi-home .hero-map-trip {
  top: 18px !important;
  right: 235px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.87) !important;
}
.taxi-home .hero-confirm-point {
  top: calc(50% + 34px) !important;
  bottom: auto !important;
  width: min(245px,calc(100% - 34px)) !important;
  min-height: 48px !important;
  border-radius: 14px !important;
  font-size: 12px !important;
}

.taxi-home .order-card {
  top: calc((100% - 105px) / 2) !important;
  left: clamp(-122px,-6.8vw,-78px) !important;
  width: clamp(430px,27vw,486px) !important;
  max-height: calc(100% - 136px) !important;
  padding: 22px !important;
  overflow: auto !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 27px !important;
  background: linear-gradient(145deg,rgba(28,35,42,.97),rgba(12,18,24,.98)) !important;
  color: #fff !important;
  box-shadow: 0 30px 74px rgba(10,14,18,.34), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter: blur(26px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(125%) !important;
  scrollbar-color: rgba(255,255,255,.20) transparent;
}
.taxi-home .order-card:has(#step2.active) { top: 18px !important; bottom: 123px !important; max-height: none !important; }
.taxi-home .order-card-heading {
  min-height: 62px !important;
  margin-bottom: 14px !important;
  align-items: flex-start !important;
}
.taxi-home .order-card-heading::after { display: none !important; content: none !important; }
.taxi-home .order-card-heading > div { min-width: 0; padding-right: 10px; }
.taxi-home .order-card h2 { color: #f7f8fa !important; font-size: 28px !important; letter-spacing: -.035em !important; }
.taxi-home .order-card-sub { max-width: 290px; margin-top: 5px !important; color: #949daa !important; font-size: 11px !important; line-height: 1.35 !important; }
.taxi-home .order-app-icon {
  width: 56px !important;
  height: 56px !important;
  margin-left: auto;
  display: block !important;
  flex: 0 0 56px;
  border: 1px solid rgba(255,211,26,.24);
  border-radius: 17px;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}
.taxi-home #step1 { color: #fff !important; }
.taxi-home #step1 .taxi-order-controls { padding-top: 0 !important; }
.taxi-home #step1 .route-panel {
  margin: 0 0 10px !important;
  padding: 8px 10px 8px 36px !important;
  border: 1px solid #364555 !important;
  border-radius: 18px !important;
  background: rgba(25,36,47,.94) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.taxi-home #step1 .route-panel .route-group > .field:first-child { display: none !important; }
.taxi-home #step1 .route-panel .route-divider { display: none !important; }
.taxi-home #step1 .route-panel .taxi-address-field {
  min-height: 66px !important;
  padding: 8px 3px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 42px !important;
  gap: 8px !important;
  border: 0 !important;
  background: transparent !important;
}
.taxi-home #step1 .route-panel .route-group + .route-group .taxi-address-field,
.taxi-home #step1 .route-panel .route-group-to .taxi-address-field { border-top: 1px solid rgba(255,255,255,.10) !important; }
.taxi-home #step1 .route-panel .taxi-address-field > .field-icon { display: none !important; }
.taxi-home #step1 .route-panel .field-content label {
  margin-bottom: 4px !important;
  color: #9ba6b4 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}
.taxi-home #step1 .route-panel .field-content input {
  width: 100% !important;
  height: 27px !important;
  color: #eef2f6 !important;
  -webkit-text-fill-color: #eef2f6 !important;
  caret-color: #ffcb16 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
.taxi-home #step1 .route-panel .field-content input::placeholder {
  color: #8794a5 !important;
  -webkit-text-fill-color: #8794a5 !important;
  opacity: 1 !important;
}
.taxi-home #step1 .route-panel .taxi-pick-map-btn {
  grid-column: 2 !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 1px solid #3d4c5d !important;
  border-radius: 12px !important;
  background: #202d3a !important;
  color: #e8edf3 !important;
  box-shadow: none !important;
}
.taxi-home #step1 .route-panel .taxi-pick-map-btn span { display: none !important; }
.taxi-home #step1 .route-panel .taxi-pick-map-btn svg { width: 17px !important; height: 17px !important; }
.taxi-home #step1 .route-panel .taxi-house-field { display: none !important; }
.taxi-home #step1 .taxi-route-rail { left: 12px !important; }
.taxi-home #step1 .taxi-route-rail > i { border-color: rgba(224,231,239,.56) !important; }
.taxi-home #step1 .taxi-route-rail > span { width: 19px !important; height: 19px !important; border-width: 3px !important; }
.taxi-home #step1 .taxi-route-rail .rail-a { background: #ffbd00 !important; }
.taxi-home #step1 .taxi-route-rail .rail-b { border-color: #e3e9ef !important; background: #f8fbfd !important; }
.taxi-home #step1 .taxi-route-rail .rail-c { background: #4f91ff !important; }
.taxi-home #step1 .web-via-head { margin: 5px 3px 0 !important; }
.taxi-home #step1 .web-via-head span { color: #aeb8c5 !important; }
.taxi-home #step1 .web-via-head button { background: #24313f !important; }
.taxi-home #step1 .web-via-head button img { filter: brightness(0) invert(1); }
.taxi-home #step1 .route-panel .taxi-address-suggestions.open {
  border-color: #3b4b5d !important;
  background: #192431 !important;
}
.taxi-home #step1 .web-add-stop {
  width: auto !important;
  min-height: 35px !important;
  margin: 0 0 10px !important;
  padding: 0 12px !important;
  border: 1px solid #344253 !important;
  border-radius: 12px !important;
  background: #18222d !important;
  color: #c8d0da !important;
  font-size: 10px !important;
}
.taxi-home #step1 .web-add-stop::before {
  width: 20px !important;
  height: 20px !important;
  border-color: #566476 !important;
  background: #24303d !important;
  color: #fff !important;
  font-size: 15px !important;
}
.taxi-home #step1 .order-quick-options {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}
.taxi-home #step1 .order-quick-options > button {
  min-width: 0 !important;
  min-height: 60px !important;
  padding: 9px 11px !important;
  display: grid !important;
  grid-template-columns: 27px minmax(0,1fr) 15px !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid #334252 !important;
  border-radius: 15px !important;
  background: rgba(18,27,36,.78) !important;
  color: #eef2f6 !important;
  text-align: left !important;
}
.taxi-home #step1 .order-quick-options strong { min-width: 0; color: #eef2f6 !important; font-size: 11px !important; line-height: 1.25 !important; }
.taxi-home #step1 .quick-option-icon { width: 23px !important; height: 23px !important; color: #dce3eb !important; }
.taxi-home #step1 .quick-car-icon { width: 28px !important; height: 28px !important; object-fit: contain; }
.taxi-home #step1 .quick-chevron { width: 14px !important; height: 14px !important; color: #dce3eb !important; }
.taxi-home #step1 .web-quote-preview {
  position: relative;
  min-height: 62px !important;
  margin: 0 0 10px !important;
  padding: 10px 14px 10px 54px !important;
  align-items: center !important;
  border: 1px solid #394858 !important;
  border-radius: 16px !important;
  background: linear-gradient(90deg,rgba(255,196,0,.13),rgba(20,29,38,.76)) !important;
}
.taxi-home #step1 .web-quote-preview::before {
  content: "₴";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(255,196,0,.17);
  color: #ffcb16;
  font-size: 17px;
  font-weight: 900;
  transform: translateY(-50%);
}
.taxi-home #step1 .web-quote-copy { width: 100%; }
.taxi-home #step1 .web-quote-copy span { color: #dce2e9 !important; font-size: 10px !important; }
.taxi-home #step1 .web-quote-copy small { color: #84909e !important; font-size: 9px !important; }
.taxi-home #step1 .web-quote-copy strong { color: #fff2b2 !important; font-size: 21px !important; }
.taxi-home #step1 .form-status { color: #a6b0bd !important; }
.taxi-home #step1 #routeNextBtn {
  min-height: 56px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg,#ffd71e,#ffc400) !important;
  color: #101318 !important;
  box-shadow: 0 13px 28px rgba(220,161,0,.20) !important;
  font-size: 15px !important;
}
.taxi-home #step1 #routeNextBtn:disabled { color: #45402e !important; opacity: .70 !important; }
.taxi-home .taxi-map-shell,
.taxi-home .taxi-map-shell.map-open,
.taxi-home .taxi-map-backdrop { display: none !important; }
.taxi-home.taxi-map-modal-open,
html.taxi-map-modal-open { overflow: auto !important; }

.taxi-home .hero-app-banner {
  position: absolute;
  z-index: 610;
  left: 6%;
  right: 0;
  bottom: 0;
  min-height: 86px;
  padding: 12px 18px;
  display: grid;
  grid-template-columns: 50px minmax(180px,1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(255,255,255,.94);
  border-radius: 22px;
  background: rgba(255,255,255,.80);
  box-shadow: 0 18px 48px rgba(42,37,27,.08), inset 0 1px 0 #fff;
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
}
.taxi-home .hero-app-icon { width: 46px; height: 46px; border-radius: 13px; box-shadow: 0 8px 20px rgba(21,24,28,.14); }
.taxi-home .hero-app-copy strong,
.taxi-home .hero-app-copy span { display: block; }
.taxi-home .hero-app-copy strong { color: #17191d; font-size: 14px; font-weight: 900; }
.taxi-home .hero-app-copy span { margin-top: 5px; color: #7c828b; font-size: 10px; line-height: 1.3; }
.taxi-home .hero-app-links { display: flex; align-items: center; gap: 8px; }
.taxi-home .hero-app-links .market-badge {
  width: 142px !important;
  min-width: 142px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 10px !important;
  gap: 8px !important;
  border-color: #24272d !important;
  border-radius: 9px !important;
  background: #08090b !important;
  color: #fff !important;
}
.taxi-home .hero-app-links .market-badge-logo { width: 24px !important; height: 27px !important; }
.taxi-home .hero-app-links .market-badge small { font-size: 7px !important; }
.taxi-home .hero-app-links .market-badge strong { font-size: 14px !important; }
.taxi-home .hero-google-play { opacity: .72; }

@media (max-width: 1260px) {
  .taxi-home .nav-tagline { display: none; }
  .taxi-home .nav-links a:nth-last-child(-n+2) { display: none !important; }
  .taxi-home .hero { grid-template-columns: minmax(365px,.75fr) minmax(570px,1.25fr) !important; gap: 24px !important; }
  .taxi-home .hero-left { min-height: 770px !important; padding-bottom: 245px !important; }
  .taxi-home .hero-right { height: 770px !important; min-height: 770px !important; }
  .taxi-home .order-card { left: -62px !important; width: 430px !important; }
  .taxi-home .hero-app-banner { left: 2%; grid-template-columns: 44px minmax(130px,1fr) auto; gap: 10px; padding: 10px 12px; }
  .taxi-home .hero-app-icon { width: 42px; height: 42px; }
  .taxi-home .hero-app-links .market-badge { width: 126px !important; min-width: 126px !important; }
}

@media (max-width: 1040px) {
  .taxi-home .hero {
    padding: 38px 24px 60px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 34px !important;
  }
  .taxi-home .hero-topbar { grid-column: 1; }
  .taxi-home .hero-left { min-height: 800px !important; max-width: 760px !important; padding-top: 16px !important; }
  .taxi-home .site-hero-car { width: min(690px,76vw); }
  .taxi-home .hero-right { height: 790px !important; min-height: 790px !important; }
  .taxi-home .hero-live-map { width: 100% !important; border-radius: 30px !important; }
  .taxi-home .order-card { left: 30px !important; width: 445px !important; }
  .taxi-home .hero-app-banner { left: 30px; right: 30px; }
}

@media (max-width: 720px) {
  .taxi-home .nav-inner { min-height: 64px !important; }
  .taxi-home .nav-logo img { width: 104px !important; height: 42px !important; }
  .taxi-home .nav-tagline { display: none !important; }
  .taxi-home .hero {
    padding: 30px 14px 44px !important;
    row-gap: 28px !important;
  }
  .taxi-home .hero-topbar { align-items: stretch; gap: 8px; }
  .taxi-home .hero-topbar .hero-badge { flex: 1 1 auto; width: auto !important; min-width: 0; padding: 0 10px !important; font-size: 8px !important; }
  .taxi-home .hero-phone-card { flex: 0 0 auto; min-height: 48px; padding: 6px 10px; border-radius: 15px; }
  .taxi-home .hero-phone-card > img { width: 18px; height: 18px; }
  .taxi-home .hero-phone-card strong { font-size: 11px; }
  .taxi-home .hero-phone-card small { font-size: 8px; }
  .taxi-home .hero-left { min-height: 690px !important; padding: 12px 0 225px !important; }
  .taxi-home .hero-kicker { margin-bottom: 14px; font-size: 8px; letter-spacing: .22em; }
  .taxi-home .hero-kicker i { margin: 0 4px; }
  .taxi-home .hero h1 { font-size: clamp(48px,13.4vw,66px) !important; }
  .taxi-home .hero-sub { max-width: 520px; margin-top: 18px !important; font-size: 15px !important; }
  .taxi-home .hero-cta-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .taxi-home .hero-cta { min-width: 0 !important; min-height: 52px !important; padding: 0 12px !important; font-size: 12px !important; }
  .taxi-home .hero-feats { grid-template-columns: 1fr 1fr !important; gap: 7px !important; }
  .taxi-home .hero-feat { min-height: 65px !important; padding: 7px !important; border-radius: 14px !important; }
  .taxi-home .site-hero-car { left: -28px; bottom: 0; width: min(580px,112vw); }
  .taxi-home .hero-right { height: auto !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; }
  .taxi-home .hero-live-map {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 390px !important;
    flex: 0 0 390px !important;
    border-radius: 24px !important;
  }
  .taxi-home .hero-live-map .leaflet-top.leaflet-right { top: 74px !important; right: 11px !important; }
  .taxi-home .hero-live-map .leaflet-control-zoom a { width: 38px !important; height: 38px !important; }
  .taxi-home .hero-locate-btn { top: 161px !important; right: 11px !important; width: 40px !important; height: 40px !important; }
  .taxi-home .hero-map-picker { top: 10px !important; right: 10px !important; min-height: 51px !important; }
  .taxi-home .hero-map-picker > span { display: none; }
  .taxi-home .hero-map-trip { top: 10px !important; left: 10px !important; right: auto !important; }
  .taxi-home .hero-confirm-point { top: calc(50% + 30px) !important; width: min(230px,calc(100% - 30px)) !important; }
  .taxi-home .order-card,
  .taxi-home .hero-live-map.is-picking ~ .order-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-height: none !important;
    margin: -26px 6px 0 !important;
    padding: 16px !important;
    overflow: visible !important;
    border-radius: 23px !important;
    background: linear-gradient(145deg,#1b232c,#0e151d) !important;
    color: #fff !important;
    transform: none !important;
  }
  .taxi-home .order-card:has(#step2.active) { inset: auto !important; margin-top: -26px !important; }
  .taxi-home .order-card h2 { color: #fff !important; font-size: 25px !important; }
  .taxi-home .order-card-sub { color: #96a1af !important; }
  .taxi-home .order-app-icon { width: 50px !important; height: 50px !important; flex-basis: 50px; }
  .taxi-home #step1 .route-panel { padding-left: 34px !important; }
  .taxi-home #step1 .route-panel .taxi-address-field { grid-template-columns: minmax(0,1fr) 40px !important; }
  .taxi-home #step1 .route-panel .field-content input,
  .taxi-home #step1 .route-panel .field-content input::placeholder { font-size: 16px !important; }
  .taxi-home #step1 .order-quick-options > button { min-height: 56px !important; padding: 8px !important; grid-template-columns: 24px minmax(0,1fr) 13px !important; gap: 6px !important; }
  .taxi-home #step1 .order-quick-options strong { font-size: 10px !important; }
  .taxi-home .hero-app-banner {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    min-height: 0;
    margin: 12px 0 0;
    padding: 14px;
    grid-template-columns: 44px minmax(0,1fr);
    gap: 10px;
    border-radius: 19px;
  }
  .taxi-home .hero-app-links { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .taxi-home .hero-app-links .market-badge { width: 100% !important; min-width: 0 !important; }
}

@media (max-width: 430px) {
  .taxi-home .hero-topbar { display: grid; grid-template-columns: 1fr; }
  .taxi-home .hero-phone-card { width: max-content; }
  .taxi-home .hero-left { min-height: 650px !important; padding-bottom: 205px !important; }
  .taxi-home .hero-cta-row { grid-template-columns: 1fr !important; }
  .taxi-home .hero-feats { grid-template-columns: 1fr 1fr !important; }
  .taxi-home .hero-app-links { grid-template-columns: 1fr !important; }
  .taxi-home #step1 .order-quick-options { grid-template-columns: 1fr 1fr !important; }
}

/* Reference corrections, 2026-09-18. */
.taxi-home .nav {
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-width: 0 0 1px !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.88) !important;
}
.taxi-home .nav-inner {
  width: var(--content) !important;
  max-width: none !important;
  margin: 0 auto !important;
}

.taxi-home .hero-left {
  padding-bottom: 286px !important;
}
.taxi-home .hero-cta-row {
  position: relative;
  z-index: 8;
}
.taxi-home .site-hero-car {
  z-index: 3 !important;
  left: clamp(-84px,-4.4vw,-38px) !important;
  bottom: -12px !important;
  width: min(735px,50vw) !important;
  pointer-events: none !important;
}

/* Native bright OpenStreetMap appearance from the supplied reference. */
.taxi-home #heroRouteMap,
.taxi-home #taxiOrderMap,
.taxi-home .taxi-review-map,
.taxi-home .live-tracking-map {
  background: #f5f1e9 !important;
}
.taxi-home #heroRouteMap .leaflet-tile-pane,
.taxi-home #taxiOrderMap .leaflet-tile-pane,
.taxi-home .taxi-review-map .leaflet-tile-pane,
.taxi-home .live-tracking-map .leaflet-tile-pane {
  opacity: 1 !important;
  filter: none !important;
}
.taxi-home .hero-live-map::before,
.taxi-home .hero-live-map::after {
  display: none !important;
  content: none !important;
}
.taxi-home .hero-live-map {
  background: #f5f1e9 !important;
}
.taxi-home .hero-live-map .leaflet-control-zoom {
  background: #fff !important;
  opacity: 1 !important;
  filter: none !important;
}
.taxi-home .hero-live-map .leaflet-control-zoom a {
  opacity: 1 !important;
  filter: none !important;
  background: #fff !important;
  color: #111318 !important;
}
.taxi-home .hero-live-map .leaflet-control-zoom .leaflet-control-zoom-in {
  background: #ffcb16 !important;
  color: #111318 !important;
}
.taxi-home .hero-locate-btn {
  opacity: 1 !important;
  filter: none !important;
  background: #fff !important;
  color: #111318 !important;
}

/* Route letters stay visible in saved markers and in the active center pin. */
.taxi-home .teo-map-pin i,
.taxi-home .hero-center-pin .teo-map-pin i,
.taxi-home .hero-route-pin .teo-map-pin i,
.taxi-home .taxi-point-marker .teo-map-pin i {
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  font: normal 900 9px/1 Inter,sans-serif !important;
  text-indent: 0 !important;
}
.taxi-home .teo-map-pin.pickup i { color: #111318 !important; }

/* Reuse the site's existing store-button geometry without clipping it. */
.taxi-home .hero-app-banner {
  overflow: visible !important;
}
.taxi-home .hero-app-links .store-badge.market-badge {
  position: relative !important;
  width: 178px !important;
  min-width: 178px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 14px !important;
  gap: 10px !important;
  border: 1px solid #303238 !important;
  border-radius: 10px !important;
  background: #08090b !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(9,10,12,.16) !important;
  overflow: hidden !important;
}
.taxi-home .hero-app-links .market-badge-logo {
  width: 29px !important;
  height: 31px !important;
}
.taxi-home .hero-app-links .market-badge small { font-size: 8px !important; }
.taxi-home .hero-app-links .market-badge strong { font-size: 17px !important; }
.taxi-home .hero-app-links .google-play-soon::after {
  content: "СКОРО";
  position: absolute;
  right: 7px;
  top: 5px;
  padding: 3px 5px;
  border-radius: 5px;
  background: #ffc400;
  color: #111;
  font-size: 6px;
  font-weight: 950;
  line-height: 1;
}

@media (max-width: 1260px) {
  .taxi-home .site-hero-car { width: min(690px,53vw) !important; }
  .taxi-home .hero-app-links .store-badge.market-badge {
    width: 150px !important;
    min-width: 150px !important;
  }
}

@media (max-width: 1040px) {
  .taxi-home .site-hero-car { width: min(720px,78vw) !important; }
  .taxi-home .hero-app-links .store-badge.market-badge {
    width: 168px !important;
    min-width: 168px !important;
  }
}

@media (max-width: 720px) {
  .taxi-home .nav {
    top: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  .taxi-home .nav-inner { width: var(--content) !important; }
  .taxi-home .hero-left {
    min-height: 625px !important;
    padding-bottom: 230px !important;
  }
  .taxi-home .site-hero-car {
    left: -36px !important;
    bottom: -8px !important;
    width: min(630px,116vw) !important;
  }
  .taxi-home .hero-live-map,
  .taxi-home .hero-live-map.is-picking {
    position: relative !important;
    z-index: 4 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 410px !important;
    min-height: 410px !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    border-radius: 22px !important;
    background: #f5f1e9 !important;
  }
  .taxi-home #heroRouteMap {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 410px !important;
  }
  .taxi-home .hero-live-map .leaflet-top.leaflet-right {
    top: 70px !important;
    right: 10px !important;
  }
  .taxi-home .hero-locate-btn {
    top: 158px !important;
    right: 10px !important;
  }
  .taxi-home .hero-confirm-point {
    top: auto !important;
    bottom: 16px !important;
    width: calc(100% - 92px) !important;
    max-width: 286px !important;
  }
  .taxi-home .hero-center-pin {
    z-index: 900 !important;
  }
  .taxi-home .hero-map-picker {
    z-index: 920 !important;
  }
  .taxi-home .order-card {
    z-index: 6 !important;
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    margin-right: 6px !important;
    margin-left: 6px !important;
    overflow: hidden !important;
  }
  .taxi-home #step1,
  .taxi-home #step1 .taxi-order-controls,
  .taxi-home #step1 .route-panel,
  .taxi-home #step1 .route-group,
  .taxi-home #step1 .taxi-address-field {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .taxi-home #step1 .route-panel .taxi-address-field {
    grid-template-columns: minmax(0,1fr) 38px !important;
    column-gap: 7px !important;
    overflow: hidden !important;
  }
  .taxi-home #step1 .route-panel .taxi-address-field > .field-content {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .taxi-home #step1 .route-panel .taxi-pick-map-btn {
    position: static !important;
    inset: auto !important;
    grid-column: 2 !important;
    justify-self: end !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  .taxi-home #step1 .route-panel .taxi-pick-map-btn span { display: none !important; }
  .taxi-home .hero-app-banner {
    overflow: visible !important;
    padding-bottom: 14px !important;
  }
  .taxi-home .hero-app-links {
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .taxi-home .hero-app-links .store-badge.market-badge {
    width: 100% !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
  }
  .taxi-home .hero-app-links .market-badge-logo {
    width: 34px !important;
    height: 36px !important;
  }
  .taxi-home .hero-app-links .market-badge small { font-size: 10px !important; }
  .taxi-home .hero-app-links .market-badge strong { font-size: 21px !important; }
}

@media (max-width: 430px) {
  .taxi-home .hero-left { min-height: 590px !important; padding-bottom: 215px !important; }
  .taxi-home .site-hero-car { width: 124vw !important; }
}

/* Fixed matte header and route/map consistency, 2026-09-18. */
.taxi-home .nav {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 9000 !important;
  background: rgba(247,247,245,.76) !important;
  border-bottom: 1px solid rgba(255,255,255,.82) !important;
  box-shadow: 0 12px 34px rgba(25,28,33,.08), inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter: blur(34px) saturate(92%) !important;
  -webkit-backdrop-filter: blur(34px) saturate(92%) !important;
}
.taxi-home main { padding-top: 76px !important; }

/* A = blue, B = white, C = yellow everywhere. */
.taxi-home .teo-map-pin.pickup::before,
.taxi-home .teo-map-pin.pickup::after { background: #4f91ff !important; }
.taxi-home .teo-map-pin.dropoff::before { background: #fff !important; border-color: #111820 !important; }
.taxi-home .teo-map-pin.dropoff::after { background: #111820 !important; }
.taxi-home .teo-map-pin.via::before,
.taxi-home .teo-map-pin.via::after { background: #ffc400 !important; }
.taxi-home .teo-map-pin i,
.taxi-home .hero-center-pin .teo-map-pin i,
.taxi-home .hero-route-pin .teo-map-pin i,
.taxi-home .taxi-point-marker .teo-map-pin i {
  position: absolute !important;
  z-index: 4 !important;
  top: 0 !important;
  left: 2px !important;
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #111820 !important;
  font: normal 950 15px/40px Inter,sans-serif !important;
  text-align: center !important;
}
.taxi-home #step1 .taxi-route-rail .rail-a { background: #4f91ff !important; }
.taxi-home #step1 .taxi-route-rail .rail-b { background: #fff !important; border-color: #111820 !important; }
.taxi-home #step1 .taxi-route-rail .rail-c { background: #ffc400 !important; }
.taxi-home .taxi-review-point.review-a > span { color: #111820 !important; background: #4f91ff !important; }
.taxi-home .taxi-review-point.review-b > span { color: #111820 !important; background: #fff !important; border-color: #111820 !important; }
.taxi-home .taxi-review-point.review-c > span { color: #111820 !important; background: #ffc400 !important; }

/* City comes first; the street control appears after city selection. */
.taxi-home #step1 .route-panel .route-group-from > .field:first-child,
.taxi-home #step1 .route-panel .route-group-to > .field:first-child {
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  padding: 7px 3px !important;
  border: 0 !important;
  background: transparent !important;
}
.taxi-home #step1 .route-panel .route-group-via > .field:nth-child(2) { display: none !important; }
.taxi-home #step1 .route-panel .route-group > .field:first-child .field-icon {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
}
.taxi-home #step1 .route-panel .route-group > .field:first-child .field-content {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.taxi-home #step1 .route-panel .route-group > .field:first-child select {
  display: block !important;
  width: 100% !important;
  height: 30px !important;
  min-width: 0 !important;
  padding: 0 28px 0 0 !important;
  border: 0 !important;
  background-color: transparent !important;
  color: #eef2f6 !important;
  -webkit-text-fill-color: #eef2f6 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
.taxi-home #step1 .route-panel .route-group > .field:first-child select option {
  color: #111820 !important;
  background: #fff !important;
}
.taxi-home #step1 .route-panel .route-group:not(.has-city) .taxi-address-field { display: none !important; }
.taxi-home #step1 .route-panel .taxi-address-field.has-street .taxi-house-field {
  display: grid !important;
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}
.taxi-home #step1 .route-panel:not(:has(.route-group-from.has-city)) .taxi-route-rail,
.taxi-home #step1 .route-panel:not(:has(.route-group-to.has-city)) .taxi-route-rail { display: none !important; }

/* The right map uses the same pale OSM treatment as the order review inset. */
.taxi-home .hero-live-map,
.taxi-home #heroRouteMap,
.taxi-home #taxiOrderMap,
.taxi-home .taxi-review-map,
.taxi-home .live-tracking-map { background: #f5f1e9 !important; }
.taxi-home .hero-live-map .leaflet-tile-pane,
.taxi-home #heroRouteMap .leaflet-tile-pane,
.taxi-home #taxiOrderMap .leaflet-tile-pane,
.taxi-home .taxi-review-map .leaflet-tile-pane,
.taxi-home .live-tracking-map .leaflet-tile-pane {
  opacity: 1 !important;
  filter: saturate(.28) contrast(.96) brightness(1.035) !important;
}

/* Zoom buttons are white at rest and black only on hover/focus. */
.taxi-home .hero-live-map .leaflet-control-zoom a,
.taxi-home .taxi-map-shell .leaflet-control-zoom a {
  background: #fff !important;
  color: #111318 !important;
  opacity: 1 !important;
  filter: none !important;
}
.taxi-home .hero-live-map .leaflet-control-zoom a:hover,
.taxi-home .hero-live-map .leaflet-control-zoom a:focus-visible,
.taxi-home .taxi-map-shell .leaflet-control-zoom a:hover,
.taxi-home .taxi-map-shell .leaflet-control-zoom a:focus-visible {
  background: #111318 !important;
  color: #fff !important;
  filter: none !important;
}

@media (max-width: 720px) {
  .taxi-home main { padding-top: 64px !important; }
  .taxi-home .site-hero-car { display: none !important; }
  .taxi-home .hero-left {
    min-height: 0 !important;
    padding-bottom: 18px !important;
  }

  /* On mobile the map exists only in the location-picker panel. */
  .taxi-home .hero-live-map,
  .taxi-home .hero-live-map.is-picking {
    display: none !important;
  }
  .taxi-home .hero-right {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .taxi-home .order-card,
  .taxi-home .hero-live-map.is-picking ~ .order-card {
    position: relative !important;
    inset: auto !important;
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    max-height: none !important;
    margin: 0 6px !important;
    transform: none !important;
  }

  /* Compact location icon: same square geometry as desktop. */
  .taxi-home #step1 .route-panel .taxi-address-field {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 38px !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .taxi-home #step1 .route-panel .route-group:not(.has-city) .taxi-address-field { display: none !important; }
  .taxi-home #step1 .route-panel .taxi-address-field > .field-content {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .taxi-home #step1 .route-panel .taxi-address-field input {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .taxi-home #step1 .route-panel .taxi-pick-map-btn {
    position: static !important;
    inset: auto !important;
    grid-column: 2 !important;
    justify-self: end !important;
    box-sizing: border-box !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    transform: none !important;
  }
  .taxi-home #step1 .route-panel .taxi-pick-map-btn span { display: none !important; }
  .taxi-home #step1 .route-panel .taxi-pick-map-btn svg { width: 17px !important; height: 17px !important; }

  /* Restore the earlier dedicated mobile picker panel. */
  .taxi-home .taxi-map-shell { display: none !important; }
  .taxi-home .taxi-map-shell.map-open {
    position: fixed !important;
    z-index: 12000 !important;
    inset: max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) auto auto !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 22px !important;
    background: #0d1b2b !important;
    box-shadow: 0 28px 90px rgba(0,0,0,.38) !important;
  }
  .taxi-home .taxi-map-shell.map-open .taxi-map-stage,
  .taxi-home .taxi-map-shell.map-open #taxiOrderMap {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    background: #f5f1e9 !important;
  }
  .taxi-home .taxi-map-shell.map-open .taxi-map-head {
    min-height: 64px !important;
  }
  .taxi-home .taxi-map-shell.map-open .leaflet-control-zoom {
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #fff !important;
  }
  .taxi-home .taxi-map-shell.map-open .leaflet-control-zoom a {
    width: 40px !important;
    height: 40px !important;
    border-radius: 0 !important;
  }
  .taxi-home .taxi-map-shell.map-open .taxi-locate-btn {
    background: #fff !important;
    color: #111318 !important;
  }
  .taxi-home .taxi-map-shell.map-open .taxi-map-confirm {
    background: #ffc400 !important;
    color: #111318 !important;
  }
  .taxi-home.taxi-map-modal-open,
  html.taxi-map-modal-open { overflow: hidden !important; }

  .taxi-home #step1 .route-panel .route-group-from > .field:first-child,
  .taxi-home #step1 .route-panel .route-group-to > .field:first-child {
    min-height: 58px !important;
  }
  .taxi-home #step1 .route-panel .route-group > .field:first-child select {
    height: 34px !important;
    font-size: 16px !important;
  }
}
