.gzm-wrap{position:relative;width:100%;border-radius:12px;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.15);margin:1.5em 0}
.gzm-map{width:100%;background:#e8e8e8}
@media (max-width:600px){.gzm-map{max-height:360px}}
.gzm-badge,.gzm-info{position:absolute;z-index:500;left:12px;background:rgba(255,255,255,.95);
  color:#222;padding:8px 12px;border-radius:8px;font-size:14px;line-height:1.3;
  box-shadow:0 1px 6px rgba(0,0,0,.2);pointer-events:none;transition:opacity .3s}
.gzm-badge{top:12px}
.gzm-info{bottom:24px}
.gzm-wrap.gzm-show .gzm-badge{opacity:0}
.gzm-wrap.gzm-always .gzm-badge{opacity:1}
.gzm-badge:empty{display:none}
.gzm-wrap.gzm-error .gzm-badge{opacity:1 !important;display:block !important;background:#fff3f3;color:#a00}

.gzm-route,.gzm-route-casing,.gzm-pin{opacity:0;transition:opacity .35s ease}
.gzm-wrap.gzm-show .gzm-route,
.gzm-wrap.gzm-show .gzm-route-casing,
.gzm-wrap.gzm-show .gzm-pin{opacity:1}
.gzm-wrap.gzm-show .gzm-route{transition:opacity .35s ease, stroke-dashoffset 1.6s ease-out}
.gzm-wrap .leaflet-tooltip.gzm-label{opacity:0 !important;transition:opacity .35s}
.gzm-wrap.gzm-show .leaflet-tooltip.gzm-label{opacity:1 !important}
