/* Footsteps are layered over the existing MAP and never intercept controls. */
.ov-map-walk-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden;border-radius:inherit}
.ov-map-footstep{position:absolute;width:16px;height:27px;color:#14564c;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 1px 1px #fff);animation:ov-map-footstep-appear 650ms ease-out both;transform-origin:50% 50%}
.ov-map-footstep svg{display:block;width:100%;height:100%;fill:currentColor}
.ov-map-street.is-walk-destination{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e30}
.ov-map-walk-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes ov-map-footstep-appear{
 0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--ov-step-angle)) scale(.7)}
 18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--ov-step-angle)) scale(1)}
 70%{opacity:.9;transform:translate(-50%,-50%) rotate(var(--ov-step-angle)) scale(1)}
 100%{opacity:.28;transform:translate(-50%,-50%) rotate(var(--ov-step-angle)) scale(1)}
}
@media(prefers-reduced-motion:reduce){.ov-map-walk-layer{display:none}.ov-map-street.is-walk-destination{box-shadow:none}}

.ov-map-view .ov-map-sound-button{float:right;min-height:44px;padding:7px 11px;margin:0 0 5px 8px;font-size:13px;white-space:nowrap}
.ov-map-view .ov-map-illustration{clear:both}
@media(max-width:760px){
 body.ov-map-view .site-header{min-height:44px;padding:0 8px;gap:8px}
 body.ov-map-view .site-header .brand{font-size:13px;line-height:1.2}
 body.ov-map-view .ov-header-favorites{font-size:12px;padding:5px 8px;min-height:44px}
 body.ov-map-view .container{padding:3px 8px 10px}
 .ov-map-view .ov-map-heading{margin:0;min-height:44px;gap:6px}
 .ov-map-view .ov-map-heading h1{font-size:20px;margin:0;line-height:1.2}
 .ov-map-view .ov-map-heading p{display:none}
 .ov-map-view .ov-map-heading>.btn{min-height:44px;font-size:12px;padding:6px 9px}
 .ov-map-view .ov-map-content{padding-top:0}
 .ov-map-view .ov-map-pause{width:18px;height:18px;margin:0 4px 0 1px;vertical-align:middle}
 .ov-map-view .ov-map-pause-label{min-height:44px;margin:0;padding:12px 0;font-size:12px;line-height:20px;box-sizing:border-box}
 .ov-map-view .ov-map-sound-button{margin:0 0 3px 6px;font-size:12px;padding:6px 9px}
 .ov-map-view .ov-map-illustration{padding:0 9px 8px;border-radius:14px}
 .ov-map-view .ov-map-sky{height:32px;margin:0 -9px}
 .ov-map-view .ov-map-cloud{width:66px;height:16px;top:14px}
 .ov-map-view .ov-map-cloud:before{width:25px;height:25px;left:11px;top:-13px}
 .ov-map-view .ov-map-cloud:after{width:28px;height:24px;left:30px;top:-9px}
 .ov-map-view .ov-map-cloud-two{top:16px}
 .ov-map-view .ov-map-center{margin:0 auto 7px;padding:0 7px;min-height:44px;font-size:12px;gap:6px;border-radius:10px}
 .ov-map-view .ov-map-center>a{min-height:44px;font-size:12px;padding:4px 0}
 .ov-map-view .ov-map-grid{gap:10px 14px}
 .ov-map-view .ov-map-street{padding:7px 7px 6px;border-radius:12px}
 .ov-map-view .ov-map-street-name{font-size:16px;line-height:1.35;min-height:22px}
 .ov-map-view .ov-map-street-scene{height:50px;margin-top:3px;gap:7px}
 .ov-map-view .ov-map-house{height:32px;flex-basis:34px;min-width:16px}
 .ov-map-view .ov-map-house:nth-of-type(3){height:38px}
 .ov-map-view .ov-map-house:before{top:-11px;height:14px}
 .ov-map-view .ov-map-house-window{height:11px;top:10px}
 .ov-map-view .ov-map-house-door{height:13px;width:8px}
 .ov-map-view .ov-map-tree{height:39px;width:18px;flex-basis:18px}
 .ov-map-view .ov-map-tree:before{height:22px;width:5px;left:7px}
 .ov-map-view .ov-map-tree>span{width:22px;height:27px;left:-2px}
 .ov-map-view .ov-map-street-road{height:9px;margin:4px -2px 5px}
 .ov-map-view .ov-map-street-footer{font-size:11px;line-height:1.45;gap:1px 5px}
 .ov-map-view .ov-map-gate{min-height:44px;margin:8px auto 0;padding:10px 15px;font-size:12px;box-sizing:border-box}
 .ov-map-view .ov-map-admin-link{margin-top:7px}
}
