/* Vehica Plus - OpenStreetMap maps. */
.tfvp-map { font-family: inherit; background: #e8ecef; z-index: 0; }
.tfvp-map .leaflet-control-attribution { font-size: 10px; direction: ltr; background: rgba(255, 255, 255, .8); }
.tfvp-map--soft .leaflet-tile-pane { filter: saturate(.7) contrast(.95) brightness(1.02); }
.tfvp-map .leaflet-control-zoom { border: 0; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); border-radius: 10px; overflow: hidden; }
.tfvp-map .leaflet-control-zoom a { width: 36px; height: 36px; line-height: 36px; font-size: 20px; color: #222732; }
.tfvp-map img { max-width: none !important; }

/* markers */
.tfvp-marker { background: none; border: 0; }
.tfvp-marker svg { display: block; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .25)); transition: transform .15s ease; transform-origin: 50% 100%; }
.tfvp-marker:hover svg { transform: scale(1.08); }
.tfvp-marker--empty { pointer-events: none; }
.tfvp-label-marker { background: none; border: 0; width: auto !important; height: auto !important; white-space: nowrap; }
/* Vehica centres the price label with translateX(-50%); keep it that way in RTL too. */
.tfvp-label-marker .vehica-marker-label { transform: translateX(-50%) !important; display: inline-block; cursor: pointer; }

/* Vehica's own HTML marker (pulsing circles on the listing map) */
.tfvp-map .vehica-marker { position: absolute; top: 10px; }

/* listing preview box on the map search page */
.tfvp-infobox { width: 275px; }
.tfvp-infobox .vehica-listing-infowindow { direction: inherit; }
.tfvp-infowindow .leaflet-popup-content-wrapper { border-radius: 10px; }
.tfvp-infowindow .leaflet-popup-content { margin: 14px 16px; }

/* place suggestions under location boxes */
.tfvp-pac { z-index: 100000; background: #fff; border-radius: 0 0 12px 12px; box-shadow: 0 10px 24px rgba(15, 23, 42, .14); overflow: hidden; font-size: 14px; }
.tfvp-pac .pac-item { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px; cursor: pointer; border-top: 1px solid #f0f2f5; line-height: 1.5; }
.tfvp-pac .pac-item:first-child { border-top: 0; }
.tfvp-pac .pac-item-selected, .tfvp-pac .pac-item:hover { background: #f4f6fa; }
.tfvp-pac .pac-item-query { font-weight: 600; color: #222732; }
.tfvp-pac__province { color: #64748b; font-size: 13px; }
.tfvp-pac__empty { padding: 10px 14px; color: #64748b; }

/* Vehica sizes the map of the map search page from the height of its menu; on a page without the
   Vehica menu that height is "NaN" and the map collapses to 0px. Give it the screen height instead. */
.vehica-inventory-v1__map-wrapper:not([style*="height"]) { height: 100vh; }
/* The listing location map takes its height from the Elementor widget; keep it visible if that style is missing. */
.vehica-car__location.tfvp-map { min-height: 320px; }
