.vpm-route{box-sizing:border-box;width:100%;padding:clamp(20px,4vw,36px);border:1px solid #e3e7db;border-radius:18px;background:#f7f9f3;color:#17251d;font-family:inherit}.vpm-route *{box-sizing:border-box}.vpm-route h2{margin:0 0 12px;font-family:inherit;font-size:clamp(24px,3vw,32px);line-height:1.2}.vpm-route p{margin:0 0 20px}.vpm-route-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:end;gap:16px}.vpm-route label,.vpm-route-label{display:block;margin:0 0 7px;font-weight:700}.vpm-route input[type=text],.vpm-route-destination{width:100%;min-height:50px;padding:12px 14px;border:1px solid #bcc6b4;border-radius:8px;background:white;color:#17251d;font:inherit;line-height:24px}.vpm-route-destination{background:#edf1e7;overflow-wrap:anywhere}.vpm-route:not(.vpm-route-site) button{min-height:50px;padding:12px 20px;border:0;border-radius:8px;background:var(--vpm-route-accent,#b9d93c);color:#101b12;font:inherit;font-weight:700;cursor:pointer;white-space:normal}.vpm-route:not(.vpm-route-site) button:hover{filter:brightness(.94)}.vpm-route :is(input,button,a):focus-visible{outline:3px solid #245a43;outline-offset:3px}.vpm-route small{display:block;margin-top:10px;line-height:1.5}.vpm-route-current{display:inline-block;margin-top:20px;color:#245a43;text-decoration:underline;font-weight:700}.vpm-route .vpm-route-notice{margin:20px 0 0;padding-top:16px;border-top:1px solid #dce2d3;font-size:.9em}@media(max-width:991px){.vpm-route-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vpm-route:not(.vpm-route-site) button{grid-column:1/-1}}@media(max-width:575px){.vpm-route-grid{grid-template-columns:minmax(0,1fr)}.vpm-route:not(.vpm-route-site) button{width:100%}}

.vpm-route-result{margin-top:24px}.vpm-route .vpm-route-status{margin:0 0 12px}.vpm-route-map{display:block;width:100%;border:0;border-radius:12px;background:#e7eddf}.vpm-route:not(.vpm-route-site) .vpm-route-open{display:table;margin:16px auto 0;padding:12px 24px;background:var(--vpm-route-accent,#b9d93c);color:#101b12;border-radius:8px;font-weight:700;text-decoration:none}.vpm-route:not(.vpm-route-site) .vpm-route-open:hover{color:#101b12;filter:brightness(.94)}@media(max-width:575px){.vpm-route-map{max-height:65vh;min-height:250px}}

.vpm-route .vpm-route-map{width:var(--vpm-map-width,100%);max-width:100%;min-width:min(200px,100%);margin-inline:auto}
.vpm-route.vpm-route-site{padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-family:inherit}
.vpm-route.vpm-route-site h2{font-family:inherit;color:inherit}
.vpm-route.vpm-route-site :is(input[type=text],.vpm-route-destination){font-family:inherit;color:inherit}
.vpm-route.vpm-route-site button{min-height:50px;font-family:inherit}.vpm-route.vpm-route-site .vpm-route-open{display:table;margin:16px auto 0}
@media(max-width:575px){.vpm-route .vpm-route-map{width:100%}}

@media(max-width:991px){.vpm-route.vpm-route-site button{grid-column:1/-1}}@media(max-width:575px){.vpm-route.vpm-route-site button{width:100%}}

@media(max-width:575px){.vpm-route .vpm-route-map{width:100%!important}}

.vpm-route select.vpm-route-destination{font:inherit;min-height:50px;width:100%;padding-right:36px}.vpm-route select:focus-visible{outline:3px solid #245a43;outline-offset:3px}

.vpm-route button.vpm-route-locate{display:inline-flex;align-items:center;gap:8px;min-height:0;padding:0;margin:0 0 10px;background:transparent;border:0;border-radius:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;grid-column:auto;width:auto;text-align:left}
.vpm-route button.vpm-route-locate:hover{background:transparent;color:inherit;text-decoration:underline;filter:none}
.vpm-route button.vpm-route-locate:disabled{opacity:.6;cursor:wait}
.vpm-route .vpm-route-geo-status:empty{display:none}
.vpm-route .vpm-route-geo-status{margin:0 0 10px}
