/* GUIALOGG v2.3.5 — Leaflet local critical layout
   Garante o posicionamento dos tiles mesmo quando o CSS externo do Leaflet
   é bloqueado, carregado tardiamente ou sobrescrito por estilos globais. */
.leaflet-container{overflow:hidden;position:relative;outline:0;-webkit-tap-highlight-color:transparent}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-map-pane,.leaflet-tile-pane,.leaflet-overlay-pane,.leaflet-shadow-pane,.leaflet-marker-pane,.leaflet-tooltip-pane,.leaflet-popup-pane{position:absolute;left:0;top:0;width:100%;height:100%}
.leaflet-map-pane{z-index:200}
.leaflet-tile-pane{z-index:200}
.leaflet-overlay-pane{z-index:400}
.leaflet-shadow-pane{z-index:500}
.leaflet-marker-pane{z-index:600}
.leaflet-tooltip-pane{z-index:650}
.leaflet-popup-pane{z-index:700}
.leaflet-tile{width:256px!important;height:256px!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;visibility:inherit}
.leaflet-tile-container{width:100%;height:100%;pointer-events:none}
.leaflet-zoom-animated{transform-origin:0 0}
.leaflet-marker-icon,.leaflet-marker-shadow{display:block;max-width:none!important}
.leaflet-control{position:relative;z-index:800;pointer-events:auto}
.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}
.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}
.leaflet-control-attribution{margin:0 4px 4px 0}

/* GUIALOGG — correção do mapa rodoviário da landing */
.landing-road-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0;min-height:0;background:#dceff5!important;isolation:isolate;overflow:hidden}
.landing-leaflet-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;z-index:1;background:#dceff5;overflow:hidden}
.landing-leaflet-map.leaflet-container{width:100%!important;height:100%!important}
.landing-leaflet-map .leaflet-container{font-family:inherit}
.landing-leaflet-map .leaflet-tile-pane{filter:saturate(.82) contrast(1.04) brightness(.98)}
html[data-theme="dark"] .landing-leaflet-map .leaflet-tile-pane{filter:saturate(.72) contrast(1.12) brightness(.72)}
.landing-leaflet-map .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.78);color:#486173;padding:2px 6px}
.landing-leaflet-map .leaflet-control-attribution a{color:#176da7}
.landing-route-shadow{stroke:#02101c;stroke-opacity:.42;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.landing-route-line{stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(0,142,255,.5))}
.landing-route-line.route-blue{stroke:#168cff}.landing-route-line.route-cyan{stroke:#27c7e8}.landing-route-line.route-orange{stroke:#ff8a1f}
.landing-route-dash{stroke-dasharray:10 11;animation:landingRouteFlow 1.8s linear infinite}
@keyframes landingRouteFlow{to{stroke-dashoffset:-42}}
/* Pontos de origem e destino no padrão visual de pino do Google Maps */
.landing-city-marker{
  position:relative;display:block;width:24px;height:24px;
  border:3px solid #fff;border-radius:50% 50% 50% 0;
  background:#1a73e8;box-shadow:0 2px 7px rgba(0,0,0,.42),0 0 0 2px rgba(26,115,232,.18);
  transform:rotate(-45deg);transform-origin:50% 50%;
}
.landing-city-marker::before{
  content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;
  border-radius:50%;background:#fff;transform:translate(-50%,-50%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.landing-city-marker::after{
  content:"";position:absolute;left:50%;top:50%;width:30px;height:30px;
  border-radius:50%;border:2px solid currentColor;opacity:.20;
  transform:translate(-50%,-50%) rotate(45deg);animation:landingPinPulse 2.2s ease-out infinite;
}
.landing-city-marker.origin{background:#1e8e3e;color:#1e8e3e;box-shadow:0 2px 7px rgba(0,0,0,.42),0 0 0 2px rgba(30,142,62,.18)}
.landing-city-marker.destination{background:#1a73e8;color:#1a73e8}
@keyframes landingPinPulse{0%,45%{transform:translate(-50%,-50%) rotate(45deg) scale(.68);opacity:.28}75%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(1.18);opacity:0}}

/* Veículos horizontais: pneus reforçados, vidros opacos e leitura melhor em escala reduzida */
.landing-truck-marker{position:relative;display:block;width:70px;height:44px;transform-origin:center center;will-change:transform;backface-visibility:hidden;pointer-events:none}
.landing-truck-visual{position:absolute;inset:0;display:block;transform-origin:center center;transition:transform .18s linear;isolation:isolate}
.landing-truck-marker[data-direction="right"] .landing-truck-visual{transform:scaleX(-1)}
.landing-truck-marker[data-direction="left"] .landing-truck-visual{transform:scaleX(1)}
.landing-truck-marker img{position:absolute;z-index:3;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:1!important;mix-blend-mode:normal!important;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:contrast(1.24) saturate(1.03) brightness(.96) drop-shadow(0 5px 4px rgba(0,0,0,.50))}
.landing-truck-shadow{position:absolute;z-index:0;left:8px;right:7px;bottom:3px;height:9px;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(4px)}
.landing-truck-wheel{position:absolute;z-index:2;bottom:4px;width:11px;height:11px;border:2px solid #05080b;border-radius:50%;background:radial-gradient(circle at 50% 50%,#9aa4ad 0 18%,#20262c 20% 42%,#030506 44% 100%);box-shadow:0 1px 2px rgba(0,0,0,.75)}
.landing-truck-window-fill{position:absolute;z-index:1;background:#17242d;border-radius:3px;opacity:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.landing-truck-marker.toco .wheel-front{left:12px}.landing-truck-marker.toco .wheel-rear{right:11px}.landing-truck-marker.toco .landing-truck-window-fill{left:8px;top:10px;width:17px;height:12px}
.landing-truck-marker.van{width:60px;height:38px}.landing-truck-marker.van .landing-truck-wheel{bottom:4px;width:9px;height:9px}.landing-truck-marker.van .wheel-front{left:8px}.landing-truck-marker.van .wheel-rear{right:9px}.landing-truck-marker.van .landing-truck-window-fill{left:7px;top:9px;width:17px;height:10px}
.landing-truck-marker.bitruck{width:76px;height:47px}.landing-truck-marker.bitruck .wheel-front{left:12px}.landing-truck-marker.bitruck .wheel-rear{right:10px}.landing-truck-marker.bitruck .landing-truck-window-fill{left:8px;top:10px;width:18px;height:13px}
.landing-map-caption{position:absolute;left:18px;bottom:16px;z-index:7;display:grid;gap:2px;padding:9px 12px;border:1px solid rgba(106,164,215,.36);border-radius:12px;background:rgba(4,18,34,.78);backdrop-filter:blur(10px);box-shadow:0 10px 24px rgba(0,0,0,.3);pointer-events:none}
.landing-map-caption span{font-size:8px;letter-spacing:.16em;color:#58c8ff;font-weight:900}.landing-map-caption strong{font-size:10px;color:#fff;letter-spacing:.06em}
.map-wrap-real .map-vignette{z-index:4;background:linear-gradient(90deg,rgba(2,12,22,.20),transparent 28%,transparent 72%,rgba(2,12,22,.16)),radial-gradient(circle at 55% 48%,transparent 56%,rgba(1,9,17,.28) 100%)}
.map-wrap-real .map-panel{z-index:8}
@media(max-width:760px){
  .landing-truck-marker{width:58px;height:37px}.landing-truck-marker.van{width:50px;height:32px}.landing-truck-marker.bitruck{width:62px;height:39px}
  .landing-truck-wheel{transform:scale(.82);transform-origin:center bottom}.landing-map-caption{display:none}
}
@media(prefers-reduced-motion:reduce){.landing-route-dash{animation:none}}

/* Hotfix v2.3.4 — remove transform/compositing interference around Leaflet */
#dashboard,
#dashboard.map-stage,
#dashboard .map-card,
#dashboard .map-wrap,
#dashboard .premium-road-map-real,
#dashboard .landing-leaflet-map{
  transform:none!important;
  contain:none!important;
}
#dashboard .map-wrap-real{position:relative!important;display:block!important;width:100%!important;isolation:isolate}
#dashboard .landing-leaflet-map{display:block!important;visibility:visible!important;opacity:1!important}
#dashboard .leaflet-tile-container{will-change:auto!important}
#dashboard .leaflet-tile{visibility:visible!important;opacity:1!important}

/* Hotfix definitivo v2.3.5 */
#landingLeafletMap,
#landingLeafletMap.leaflet-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important}
#landingLeafletMap .leaflet-map-pane,
#landingLeafletMap .leaflet-pane,
#landingLeafletMap .leaflet-tile-pane,
#landingLeafletMap .leaflet-tile-container{position:absolute!important;left:0!important;top:0!important}
#landingLeafletMap img.leaflet-tile{position:absolute!important;width:256px!important;height:256px!important;max-width:none!important;max-height:none!important;object-fit:fill!important}
#landingLeafletMap .leaflet-control-container{position:relative;z-index:1000}

/* Hotfix v2.3.6 — veículos sempre horizontais, com inversão apenas pelo sentido da rota */
#landingLeafletMap .landing-truck-marker{transform:translateY(-2px)!important}
