/* Driver marker on every map (driver app, customer tracking, shop): moto icon in a blue disc, live pulse,
   direction of travel (cone) and a name label. It glides to each new GPS position. */
.nav-map .nav-map__mark.nav-map__mark--driver { width: 40px; height: 40px; border: 3px solid #fff; background: #2563eb; color: #fff; z-index: 2; overflow: visible;
  box-shadow: 0 3px 10px rgba(20,33,61,.45); animation: dm-moto-pulse 2s ease-out infinite; }
.nav-map__moto { display: block; }
.nav-map__mark--glide { transition: left 1.2s linear, top 1.2s linear; }
.nav-map__heading { position: absolute; left: 50%; top: 50%; width: 0; height: 0; margin: -38px 0 0 -9px; border-left: 9px solid transparent; border-right: 9px solid transparent;
  border-bottom: 15px solid #2563eb; transform-origin: 50% 38px; filter: drop-shadow(0 1px 1px rgba(0,0,0,.35)); }
.nav-map__heading[hidden] { display: none; }
.nav-map__name { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: 6px; padding: 3px 9px; border-radius: 99px; background: #14213d; color: #fff;
  font: 700 11.5px/1.2 system-ui, -apple-system, sans-serif; white-space: nowrap; box-shadow: 0 2px 6px rgba(20,33,61,.35); pointer-events: none; }
.nav-map__name:empty { display: none; }
@keyframes dm-moto-pulse { 0% { box-shadow: 0 0 0 0 rgba(37,99,235,.5), 0 3px 10px rgba(20,33,61,.45); } 100% { box-shadow: 0 0 0 22px rgba(37,99,235,0), 0 3px 10px rgba(20,33,61,.45); } }
@media (prefers-reduced-motion: reduce) { .nav-map .nav-map__mark.nav-map__mark--driver { animation: none; } .nav-map__mark--glide { transition: none; } }
