/* ==========================================================================
   Q23 — Passenger miniapp UI (v2)
   Loaded after styles.css and overrides the passenger-side visuals only.
   ========================================================================== */

.passenger-map-view{
  --p-accent:#2481cc;
  --p-accent-ink:#155f97;
  --p-accent-soft:#e8f2fc;
  --p-ink:#0e1726;
  --p-muted:#6b7a8d;
  --p-line:#e6ecf3;
  --p-surface:#ffffff;
  --p-surface-2:#f4f7fb;
  --p-ok:#16a34a;
  --p-danger:#e11d48;
  --p-r-lg:26px;
  --p-r-md:18px;
  --p-r-sm:13px;
  --p-sh-1:0 2px 8px rgba(14,23,38,.08);
  --p-sh-2:0 12px 32px rgba(14,23,38,.18);
  --p-sh-3:0 -14px 44px rgba(14,23,38,.22);
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif;
  color:var(--p-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.passenger-map-view *{box-sizing:border-box}

/* --------------------------------------------------------------------------
   Map
   -------------------------------------------------------------------------- */
.passenger-map-view .passenger-map{background:#e8eef4}
body.passenger-fullscreen .leaflet-bottom.leaflet-right{
  bottom:calc(80px + env(safe-area-inset-bottom));
}
body.passenger-fullscreen .leaflet-control-attribution{
  background:rgba(255,255,255,.82);
  border-radius:10px 0 0 0;
  font-size:9px;
  padding:1px 7px;
  color:#7a8797;
}
.passenger-map-view .qmarker{display:grid;place-items:center;filter:drop-shadow(0 6px 6px rgba(14,23,38,.35))}
.passenger-map-view .qmarker svg{width:34px;height:34px;fill:var(--p-ok)}
.passenger-map-view .qmarker.qmarker-dest svg{fill:var(--p-danger)}

/* --------------------------------------------------------------------------
   Center pin (target)
   -------------------------------------------------------------------------- */
.passenger-map-view .center-pin{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:900;
  display:grid;
  place-items:center;
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
}
.passenger-map-view .center-pin-mark{position:relative;width:26px;height:26px;display:grid;place-items:center}
.passenger-map-view .center-pin-dot{
  width:18px;height:18px;border-radius:50%;
  background:var(--p-accent);
  border:3px solid #fff;
  box-shadow:0 0 0 2px rgba(36,129,204,.9);
}
.passenger-map-view .center-pin-pulse{
  position:absolute;width:26px;height:26px;border-radius:50%;
  background:rgba(36,129,204,.28);
  animation:pinPulse 1.9s ease-out infinite;
}
@keyframes pinPulse{
  0%{transform:scale(.65);opacity:.9}
  70%{transform:scale(2.3);opacity:0}
  100%{transform:scale(2.3);opacity:0}
}
.passenger-map-view .center-pin-hint{
  position:absolute;
  top:26px;
  background:#0e1726;
  color:#fff;
  font-size:11.5px;
  font-weight:700;
  padding:5px 12px;
  border-radius:999px;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(14,23,38,.35);
}
.passenger-map-view .center-pin.hidden{display:none}

/* --------------------------------------------------------------------------
   Floating buttons + top bar
   -------------------------------------------------------------------------- */
.passenger-map-view .passenger-topbar{
  position:absolute;
  top:calc(12px + env(safe-area-inset-top));
  left:12px;right:12px;
  z-index:1002;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  pointer-events:none;
}
.passenger-map-view .passenger-topbar > *{pointer-events:auto}
.passenger-map-view .p-icon-btn{
  width:48px;height:48px;
  border:0;padding:0;
  border-radius:16px;
  background:var(--p-surface);
  color:var(--p-accent);
  box-shadow:var(--p-sh-2);
  display:grid;place-items:center;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease;
}
.passenger-map-view .p-icon-btn:active{transform:scale(.93)}
.passenger-map-view .p-icon-btn svg{width:24px;height:24px;fill:currentColor}
.passenger-map-view .passenger-brand{
  height:48px;
  display:inline-flex;align-items:center;
  padding:0 16px;
  border-radius:16px;
  background:var(--p-surface);
  box-shadow:var(--p-sh-1);
}
.passenger-map-view .passenger-brand-mark{
  font-weight:800;font-size:15px;letter-spacing:1px;
  color:var(--p-accent);
}
.passenger-map-view .p-gps{
  position:absolute;
  left:14px;
  bottom:calc(96px + env(safe-area-inset-bottom));
  z-index:1001;
}

/* --------------------------------------------------------------------------
   Side menu
   -------------------------------------------------------------------------- */
.passenger-map-view .passenger-menu{
  position:absolute;
  top:calc(72px + env(safe-area-inset-top));
  right:12px;
  left:auto;
  z-index:1005;
  min-width:238px;
  background:var(--p-surface);
  border-radius:20px;
  box-shadow:var(--p-sh-2);
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:2px;
  animation:menuIn .16s ease;
}
@keyframes menuIn{
  from{opacity:0;transform:translateY(-8px) scale(.98)}
  to{opacity:1;transform:none}
}
.passenger-map-view .passenger-menu button{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  border:0;
  background:none;
  padding:12px;
  border-radius:14px;
  text-align:right;
  font-size:14px;
  font-weight:600;
  color:var(--p-ink);
  cursor:pointer;
}
.passenger-map-view .passenger-menu button svg{width:20px;height:20px;fill:var(--p-muted);flex-shrink:0}
.passenger-map-view .passenger-menu button::before{
  content:"";
  width:20px;height:20px;
  flex-shrink:0;
  background-color:var(--p-muted);
  -webkit-mask:var(--mi) center/contain no-repeat;
  mask:var(--mi) center/contain no-repeat;
}
.passenger-map-view .passenger-menu button[data-menu="favorites"]{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14l-5-4.87 6.91-1.01L12 2Z'/%3E%3C/svg%3E")}
.passenger-map-view .passenger-menu button[data-menu="invite"]{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-9-1H4V9h2V7h2v2h2v2H8v2H6v-2Zm9 3c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4Z'/%3E%3C/svg%3E")}
.passenger-map-view .passenger-menu button[data-menu="history"]{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 3a9 9 0 1 0 8.94 10h-2.02A7 7 0 1 1 13 5v3l4-4-4-4v3Zm-1 4v6l5 3 .9-1.7-4-2.3V7H12Z'/%3E%3C/svg%3E")}
.passenger-map-view .passenger-menu button[data-menu="settings"]{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m19.4 13 .1-1-.1-1 2.03-1.58-2-3.46-2.39.96a7.5 7.5 0 0 0-1.73-1L15 3.5h-4l-.31 2.42a7.5 7.5 0 0 0-1.73 1l-2.39-.96-2 3.46L6.6 11l-.1 1 .1 1-2.03 1.58 2 3.46 2.39-.96c.53.43 1.11.77 1.73 1L11 20.5h4l.31-2.42a7.5 7.5 0 0 0 1.73-1l2.39.96 2-3.46L19.4 13ZM13 15.2a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Z'/%3E%3C/svg%3E")}
.passenger-map-view .passenger-menu button[data-menu="support"]{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.9 3 3 6.58 3 11c0 2.5 1.28 4.72 3.3 6.14L6 21l3.98-1.62c.65.1 1.32.16 2.02.16 5.1 0 9-3.58 9-8S17.1 3 12 3Zm-3 9.2a1.2 1.2 0 1 1 0-2.4 1.2 1.2 0 0 1 0 2.4Zm3 0a1.2 1.2 0 1 1 0-2.4 1.2 1.2 0 0 1 0 2.4Zm3 0a1.2 1.2 0 1 1 0-2.4 1.2 1.2 0 0 1 0 2.4Z'/%3E%3C/svg%3E")}
.passenger-map-view .passenger-menu button:active{background:var(--p-surface-2)}

/* --------------------------------------------------------------------------
   Place search
   -------------------------------------------------------------------------- */
.passenger-map-view .place-search{
  position:absolute;
  left:12px;right:12px;
  bottom:calc(14px + env(safe-area-inset-bottom));
  z-index:1002;
  display:flex;
  flex-direction:column-reverse;
  gap:10px;
}
.passenger-map-view .place-search.hidden{display:none}
.passenger-map-view .place-search-bar{
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--p-surface);
  border-radius:var(--p-r-md);
  padding:6px 8px 6px 14px;
  box-shadow:var(--p-sh-2);
}
.passenger-map-view .place-search-icon{
  width:38px;height:38px;
  border-radius:12px;
  background:var(--p-accent-soft);
  color:var(--p-accent);
  display:grid;place-items:center;
  flex-shrink:0;
}
.passenger-map-view .place-search-icon svg{width:20px;height:20px;fill:currentColor}
.passenger-map-view .place-search input{
  flex:1;
  border:0;outline:0;
  background:transparent;
  font-size:15px;
  padding:0;
  min-width:0;
  color:var(--p-ink);
}
.passenger-map-view .place-search input::placeholder{color:#98a4b3}
.passenger-map-view .place-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.passenger-map-view .place-search-clear{
  border:0;
  background:var(--p-surface-2);
  color:#5b6b7a;
  width:30px;height:30px;
  border-radius:50%;
  display:grid;place-items:center;
  cursor:pointer;
  flex-shrink:0;
}
.passenger-map-view .place-search-clear svg{width:16px;height:16px;fill:currentColor}
.passenger-map-view .place-search-clear.hidden{display:none}
.passenger-map-view .place-results{
  background:var(--p-surface);
  border-radius:var(--p-r-md);
  box-shadow:var(--p-sh-2);
  max-height:44vh;
  overflow-y:auto;
  padding:5px;
}
.passenger-map-view .place-results.hidden{display:none}
.passenger-map-view .place-result{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  border:0;
  background:none;
  text-align:right;
  padding:11px;
  border-radius:14px;
  font-size:14px;
  color:var(--p-ink);
  cursor:pointer;
}
.passenger-map-view .place-result:active{background:var(--p-surface-2)}
.passenger-map-view .place-result-icon{
  width:36px;height:36px;
  border-radius:12px;
  background:var(--p-surface-2);
  display:grid;place-items:center;
  font-size:0;
  color:transparent;
  flex-shrink:0;
}
.passenger-map-view .place-result-icon::before{
  content:"";
  width:18px;height:18px;
  background-color:var(--p-muted);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.passenger-map-view .place-result-label{
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.passenger-map-view .place-results-empty{
  padding:16px;
  font-size:12.5px;
  color:var(--p-muted);
  text-align:center;
}

/* --------------------------------------------------------------------------
   Ride sheet
   -------------------------------------------------------------------------- */
.passenger-map-view .passenger-sheet{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:1003;
  background:var(--p-surface);
  border-radius:var(--p-r-lg) var(--p-r-lg) 0 0;
  box-shadow:var(--p-sh-3);
  padding:8px 16px calc(16px + env(safe-area-inset-bottom));
  max-height:68vh;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.passenger-map-view .passenger-sheet.hidden{display:none}
@starting-style{
  .passenger-map-view .passenger-sheet:not(.hidden){transform:translateY(105%)}
}
.passenger-map-view .passenger-sheet{
  animation:sheetIn .34s cubic-bezier(.32,.72,0,1);
}
@keyframes sheetIn{from{transform:translateY(105%)}to{transform:none}}
.passenger-map-view .passenger-sheet-handle{
  width:46px;height:5px;
  border-radius:3px;
  background:#dfe6ee;
  margin:6px auto 14px;
}
.passenger-map-view .sheet-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.passenger-map-view .sheet-title{font-size:18px;margin:0;font-weight:800}
.passenger-map-view .fare-route{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--p-muted);
  margin:4px 0 0;
}
.passenger-map-view .fare-route-sep{opacity:.5}
.passenger-map-view .passenger-tabs{
  display:flex;
  gap:6px;
  margin-bottom:14px;
  background:var(--p-surface-2);
  padding:4px;
  border-radius:16px;
}
.passenger-map-view .passenger-tabs button{
  flex:1;
  padding:10px 6px;
  border:0;
  border-radius:12px;
  background:transparent;
  font-size:13px;
  font-weight:700;
  color:var(--p-muted);
  cursor:pointer;
  transition:background .15s,color .15s,box-shadow .15s;
}
.passenger-map-view .passenger-tabs button.active{
  background:var(--p-surface);
  color:var(--p-accent-ink);
  box-shadow:var(--p-sh-1);
}
.passenger-map-view .fare-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:14px;
}
.passenger-map-view .fare-item{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  padding:12px;
  border:1.5px solid var(--p-line);
  border-radius:var(--p-r-md);
  background:var(--p-surface);
  cursor:pointer;
  text-align:right;
  transition:border-color .15s,background .15s,transform .12s,box-shadow .15s;
}
.passenger-map-view .fare-item:active{transform:scale(.985)}
.passenger-map-view .fare-item.active{
  border-color:var(--p-accent);
  background:var(--p-accent-soft);
  box-shadow:0 8px 20px rgba(36,129,204,.16);
}
.passenger-map-view .fare-icon{
  width:48px;height:48px;
  border-radius:14px;
  background:var(--p-surface-2);
  color:var(--p-accent);
  display:grid;place-items:center;
  flex-shrink:0;
  transition:background .15s;
}
.passenger-map-view .fare-icon svg{width:28px;height:28px;fill:currentColor}
.passenger-map-view .fare-item.active .fare-icon{background:#fff}
.passenger-map-view .fare-copy{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.passenger-map-view .fare-title{font-weight:800;font-size:15px}
.passenger-map-view .fare-note{font-size:11.5px;color:var(--p-muted)}
.passenger-map-view .fare-price{
  font-weight:800;
  color:var(--p-accent-ink);
  font-size:14px;
  white-space:nowrap;
}
.passenger-map-view .fare-check{
  width:24px;height:24px;
  border-radius:50%;
  border:1.5px solid #cfd9e6;
  background:#fff;
  display:grid;place-items:center;
  color:#fff;
  flex-shrink:0;
  transition:background .15s,border-color .15s;
}
.passenger-map-view .fare-check svg{width:15px;height:15px;fill:currentColor;opacity:0;transition:opacity .15s}
.passenger-map-view .fare-item.active .fare-check{background:var(--p-accent);border-color:var(--p-accent)}
.passenger-map-view .fare-item.active .fare-check svg{opacity:1}
.passenger-map-view .sheet-cta{
  position:sticky;
  bottom:0;
  margin-top:2px;
  min-height:52px;
  border-radius:16px;
  font-size:16px;
  box-shadow:0 12px 24px rgba(36,129,204,.28);
}
.passenger-map-view .sheet-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-align:center;
  padding:24px 12px 30px;
  color:var(--p-muted);
}
.passenger-map-view .sheet-empty-ic{
  width:58px;height:58px;
  border-radius:20px;
  background:var(--p-accent-soft);
  color:var(--p-accent);
  display:grid;place-items:center;
  margin-bottom:4px;
}
.passenger-map-view .sheet-empty-ic svg{width:28px;height:28px;fill:currentColor}
.passenger-map-view .sheet-empty strong{color:var(--p-ink);font-size:15px}
.passenger-map-view .sheet-empty p{margin:0;font-size:12.5px}

/* --------------------------------------------------------------------------
   Waiting for driver
   -------------------------------------------------------------------------- */
.passenger-map-view .passenger-waiting,
.passenger-map-view .passenger-driver{
  position:absolute;
  inset:0;
  z-index:1004;
  display:flex;
  align-items:flex-end;
  padding:14px 14px calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(14,23,38,0) 28%,rgba(14,23,38,.42));
}
.passenger-map-view .passenger-waiting.hidden,
.passenger-map-view .passenger-driver.hidden{display:none}
.passenger-map-view .passenger-waiting-card,
.passenger-map-view .passenger-driver-card{
  width:100%;
  background:var(--p-surface);
  border-radius:var(--p-r-lg);
  padding:22px 18px;
  box-shadow:var(--p-sh-3);
  animation:sheetUp .3s cubic-bezier(.32,.72,0,1);
}
@keyframes sheetUp{from{transform:translateY(44px);opacity:0}to{transform:none;opacity:1}}
.passenger-map-view .waiting-radar{
  position:relative;
  width:72px;height:72px;
  margin:2px auto 14px;
  display:grid;place-items:center;
}
.passenger-map-view .waiting-radar i{
  width:16px;height:16px;
  border-radius:50%;
  background:var(--p-accent);
  box-shadow:0 0 0 7px rgba(36,129,204,.16);
}
.passenger-map-view .waiting-radar span{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid rgba(36,129,204,.5);
  animation:radar 2.4s ease-out infinite;
}
.passenger-map-view .waiting-radar span:nth-child(2){animation-delay:.8s}
.passenger-map-view .waiting-radar span:nth-child(3){animation-delay:1.6s}
@keyframes radar{0%{transform:scale(.34);opacity:.9}100%{transform:scale(1);opacity:0}}
.passenger-map-view .waiting-title{text-align:center;margin:0 0 5px;font-size:17px;font-weight:800}
.passenger-map-view .waiting-sub{
  text-align:center;
  color:var(--p-muted);
  font-size:12.5px;
  margin:0 auto 16px;
  max-width:290px;
  line-height:1.9;
}
.passenger-map-view .waiting-route{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:var(--p-surface-2);
  border-radius:var(--p-r-md);
  padding:15px 16px;
  margin-bottom:16px;
}
.passenger-map-view .waiting-point{position:relative;padding-inline-start:20px}
.passenger-map-view .waiting-point::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:9px;
  width:10px;height:10px;
  border-radius:50%;
  border:2px solid var(--p-accent);
  background:#fff;
}
.passenger-map-view .waiting-point:last-child::before{border-radius:3px;background:var(--p-accent)}
.passenger-map-view .waiting-point i{display:block;font-style:normal;font-size:11px;color:var(--p-muted)}
.passenger-map-view .waiting-point b{
  display:block;
  font-size:14px;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.passenger-map-view .waiting-arrow{display:grid;place-items:center;color:var(--p-accent);margin-inline-start:3px}
.passenger-map-view .waiting-arrow svg{width:18px;height:18px;fill:currentColor}

/* --------------------------------------------------------------------------
   Driver assigned
   -------------------------------------------------------------------------- */
.passenger-map-view .driver-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--p-accent-soft);
  color:var(--p-accent-ink);
  font-size:12px;
  font-weight:700;
  padding:6px 12px;
  border-radius:999px;
  margin-bottom:14px;
}
.passenger-map-view .driver-badge-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--p-ok);
  box-shadow:0 0 0 4px rgba(22,163,74,.18);
}
.passenger-map-view .passenger-driver-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.passenger-map-view .passenger-driver-photo{
  width:60px;height:60px;
  border-radius:18px;
  background:var(--p-surface-2);
  color:var(--p-accent);
  display:grid;place-items:center;
  flex-shrink:0;
}
.passenger-map-view .passenger-driver-photo svg{width:30px;height:30px;fill:currentColor}
.passenger-map-view .passenger-driver-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.passenger-map-view .passenger-driver-info strong{font-size:16px;font-weight:800}
.passenger-map-view .passenger-driver-info span{font-size:12.5px;color:var(--p-muted)}
.passenger-map-view .passenger-driver-plate{
  font-weight:800;
  background:#fff8e6;
  border:1px solid #f0dcae;
  border-radius:11px;
  padding:6px 10px;
  font-size:12.5px;
  direction:ltr;
  white-space:nowrap;
}
.passenger-map-view .passenger-driver-fare{
  display:flex;
  flex-direction:column;
  gap:3px;
  background:var(--p-accent-soft);
  border-radius:var(--p-r-md);
  padding:14px;
  margin:0 0 14px;
  text-align:center;
}
.passenger-map-view .passenger-driver-fare span{font-size:22px;font-weight:800;color:var(--p-accent-ink)}
.passenger-map-view .passenger-driver-fare small{color:var(--p-muted);font-size:11.5px;line-height:1.8}
.passenger-map-view .passenger-driver-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.passenger-map-view .passenger-driver-actions .btn{min-height:46px;border-radius:14px}
.passenger-map-view .passenger-driver-actions #paidBtn{grid-column:1 / -1}

/* --------------------------------------------------------------------------
   Notices inside the passenger fullscreen
   -------------------------------------------------------------------------- */
body.passenger-fullscreen #notice{
  position:absolute;
  top:calc(72px + env(safe-area-inset-top));
  left:12px;right:12px;
  z-index:1010;
  margin:0;
  border-radius:14px;
  box-shadow:var(--p-sh-2);
}

/* --------------------------------------------------------------------------
   Small screens
   -------------------------------------------------------------------------- */
@media (max-width:360px){
  .passenger-map-view .fare-icon{width:42px;height:42px;border-radius:12px}
  .passenger-map-view .fare-icon svg{width:24px;height:24px}
  .passenger-map-view .fare-price{font-size:13px}
  .passenger-map-view .passenger-tabs button{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .passenger-map-view .center-pin-pulse,
  .passenger-map-view .waiting-radar span,
  .passenger-map-view .passenger-sheet,
  .passenger-map-view .passenger-waiting-card,
  .passenger-map-view .passenger-driver-card{animation:none!important}
}

/* --------------------------------------------------------------------------
   Service cards (motor-pickup / van)
   -------------------------------------------------------------------------- */
.passenger-map-view .service-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  background:var(--p-surface);
  border:1px solid var(--p-line);
  border-radius:var(--p-r-md);
  box-shadow:var(--p-sh-1);
}
.passenger-map-view .service-ic{
  width:44px;
  height:44px;
  flex-shrink:0;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--p-accent-soft);
  color:var(--p-accent);
}
.passenger-map-view .service-ic svg{width:23px;height:23px;fill:currentColor}
.passenger-map-view .service-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.passenger-map-view .service-copy strong{font-size:14px;font-weight:800;color:var(--p-ink)}
.passenger-map-view .service-copy span{font-size:11.5px;color:var(--p-muted);line-height:1.7}
.passenger-map-view .service-price{font-size:15px;font-weight:800;color:var(--p-accent-ink);white-space:nowrap}
.passenger-map-view .service-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:10px 12px;
  background:var(--p-surface-2);
  border-radius:var(--p-r-sm);
  font-size:11.5px;
  line-height:1.85;
  color:var(--p-muted);
}
.passenger-map-view .service-note svg{width:18px;height:18px;fill:var(--p-accent);flex-shrink:0;margin-top:1px}

/* --------------------------------------------------------------------------
   Waiting GIF (replaces origin/destination box)
   -------------------------------------------------------------------------- */
.passenger-map-view .waiting-gif{
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  max-width:280px;
  border-radius:var(--p-r-md);
  overflow:hidden;
  background:var(--p-surface-2);
}
.passenger-map-view .waiting-gif img{
  display:block;
  width:100%;
  height:auto;
  max-height:210px;
  object-fit:contain;
}
.passenger-map-view .waiting-gif.hidden{display:none}
