
.vt-container { max-width:480px; margin: 0 auto; padding: 8px; box-sizing: border-box; }
.vt-map-wrapper { position: relative; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,0.12); }
#vt-map { width:100%; height:420px; min-height:300px; }
.vt-bubble {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  background: #F57C70;
  color: #fff;
  padding: 10px 14px;
  border-radius: 20px;
  font-weight: 600;
  font-family: sans-serif;
  box-shadow: 0 3px 10px rgba(0,0,0,0.2);
  z-index: 999;
}

/* pulsing city icon */
.vt-pulse-icon .vt-pulse {
  width: 18px; height: 18px; border-radius: 50%; margin: 0 auto;
  box-shadow: 0 0 0 rgba(245,124,112,0.4);
  background: #F57C70; animation: vtPulse 1.6s infinite;
}
.vt-pulse-icon .vt-city { text-align:center; font-size:12px; margin-top:6px; color:#333; font-weight:600; }

@keyframes vtPulse {
  0% { transform: scale(0.8); opacity: 1; box-shadow: 0 0 0 0 rgba(245,124,112,0.7); }
  70% { transform: scale(1.8); opacity: 0.35; box-shadow: 0 0 0 20px rgba(245,124,112,0); }
  100% { transform: scale(0.8); opacity: 0; }
}

/* car marker styling */
.vt-car-icon .vt-car-emoji { font-size: 24px; transform: rotate(0deg); display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:6px; background: rgba(255,255,255,0.9); box-shadow: 0 2px 6px rgba(0,0,0,0.2); }
@media (min-width: 480px) {
  .vt-container { max-width:420px; }
  #vt-map { height:360px; }
}
