*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;font-family:Arial,sans-serif;color:#24404f}.route-map{position:relative;width:100%;height:100%;overflow:hidden;background:#e9eef2}.route-map__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:#e9eef2;font-family:inherit}.leaflet-container img{max-width:none!important;max-height:none!important}.leaflet-tile-pane{filter:saturate(.85) brightness(1.04) contrast(.92)}.leaflet-control-attribution{font-size:10px!important;line-height:1.5}.leaflet-bar{border:0!important;border-radius:8px!important;overflow:hidden;box-shadow:0 2px 8px #1e324633}.leaflet-bar a{width:30px!important;height:30px!important;line-height:30px!important;color:#555!important;background:#fff}.leaflet-bar a:hover{background:#eff5f9}.route-map__address{position:absolute;z-index:2;left:10px;bottom:23px;max-width:calc(100% - 20px);padding:8px 11px;border-radius:8px;background:#fffffff2;box-shadow:0 2px 8px #1e324624;font-size:12px;line-height:1.35}.route-map__address strong{display:block;font-weight:600}.route-map__address a{display:inline-block;margin-top:3px;color:#286b86;font-size:11px;text-decoration:none}.route-map__address a:hover{text-decoration:underline}.route-map__activate{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;border:0;background:#24404f12;color:#24404f;font:inherit;cursor:pointer;touch-action:pan-y}.route-map__activate[hidden]{display:none}.route-map__activate span{padding:10px 13px;border-radius:20px;background:#fffffff2;font-size:12px;box-shadow:0 2px 8px #1e324622}.route-map__activate:focus-visible{outline:3px solid #1e98ff;outline-offset:-3px}.route-map__fallback{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:20px;background:#eff5f9;font-size:14px;line-height:1.4}.route-map__fallback a{color:#236e90}.route-map[data-map-state=ready] .route-map__fallback{display:none}.route-pin{position:absolute;display:flex;align-items:center;gap:5px;white-space:nowrap}.route-pin--metro{transform:translate(-12px,-12px)}.route-pin--entrance{transform:translate(-20px,-47px);align-items:flex-start}.route-pin__metro{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:#fa4242;color:#fff;box-shadow:0 2px 7px #1e324640;font-size:13px;font-weight:800}.route-pin__entrance{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border:3px solid #fff;border-radius:50%;background:#1e98ff;box-shadow:0 2px 7px #1e324640}.route-pin__entrance:after{content:'';position:absolute;left:11px;bottom:-10px;width:10px;height:10px;background:#1e98ff;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg)}.route-pin__entrance svg{display:block;width:26px;height:26px}.route-pin__label{display:block;padding:4px 6px;border-radius:5px;background:#fffffff7;color:#263747;box-shadow:0 2px 8px #1e324629;font-size:11px;line-height:16px;white-space:nowrap}.route-pin--entrance .route-pin__label{margin-top:4px;padding:6px 8px;font-size:12px}.leaflet-container:focus-visible{outline:3px solid #1e98ff;outline-offset:-3px}@media(max-height:270px){.route-map__address{font-size:11px;padding:6px 9px}.route-map__address a{font-size:10px}.route-map__activate span{font-size:11px}}
/* бегущий пунктир по маршруту — от метро ко входу */
.route-flow{stroke-dasharray:1 13;stroke-linecap:round;animation:routeFlow 2.4s linear infinite}@keyframes routeFlow{to{stroke-dashoffset:-14}}@media(prefers-reduced-motion:reduce){.route-flow{animation:none}}
/* значок метро — в цвет линии, как на МИРКе: Кузнецкий мост (7), Ботанический сад (6), Автозаводская (2) */
.route-map[data-location=kuznetsky] .route-pin__metro{background:#943e90}.route-map[data-location=botanichesky] .route-pin__metro{background:#f07e24}.route-map[data-location=avtozavodskaya] .route-pin__metro{background:#4fb04f}
