.olv-routemap{margin:0 0 2.5rem;padding:0;display:grid;gap:1.5rem clamp(1.5rem, 4vw, 3rem)}@media (min-width:760px){.olv-routemap{grid-template-columns:minmax(13rem,17rem) minmax(0,32rem);align-items:start;justify-content:start}}.olv-routemap__canvas{position:relative;width:100%;max-width:17rem;margin-inline:auto;aspect-ratio:100 / 186.5;border:1px solid var(--olv-line);border-radius:var(--olv-radius-lg);background:var(--olv-surface);overflow:hidden;box-shadow:var(--olv-shadow-1)}.olv-routemap__basemap{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;opacity:.94;filter:contrast(1.04) saturate(1.06)}.olv-routemap__svg{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:2;pointer-events:none}.olv-routemap__trail-halo{fill:none;stroke:var(--olv-on-field);stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.olv-routemap__trail{fill:none;stroke:var(--olv-primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.olv-routemap__scalebar-halo{fill:none;stroke:var(--olv-on-field);stroke-width:3.2}.olv-routemap__scalebar{fill:none;stroke:var(--olv-ink);stroke-width:1.2}.olv-routemap__pins{position:absolute;inset:0;margin:0;padding:0;list-style:none;z-index:3;pointer-events:none}.olv-routemap__pin{position:absolute;left:var(--x);top:var(--y);width:.625rem;height:.625rem;margin:-.3125rem 0 0 -.3125rem;border-radius:var(--olv-radius-full);border:2px solid var(--olv-on-field);background:var(--olv-primary);box-shadow:0 1px 4px rgb(0 0 0 / .45)}.olv-routemap__pin--end{width:.8125rem;height:.8125rem;margin:-.40625rem 0 0 -.40625rem;background:var(--olv-primary-deep);border:2.5px solid var(--olv-on-field);box-shadow:0 2px 6px rgb(0 0 0 / .55)}.olv-routemap__tag,.olv-routemap__scale-label{position:absolute;font-size:.6875rem;line-height:1.25;color:var(--olv-ink);font-variant-numeric:tabular-nums;white-space:nowrap;z-index:3;background:rgb(255 255 255 / .92);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:.2rem .45rem;border-radius:var(--olv-radius-sm);border:1px solid var(--olv-line);box-shadow:0 2px 5px rgb(0 0 0 / .12)}.olv-routemap__tag b{display:block;font-size:.6875rem;font-weight:700;color:var(--olv-ink)}.olv-routemap__tag--start{right:4%;top:3%;text-align:right}.olv-routemap__tag--finish{left:4%;bottom:3%}.olv-routemap__scale-label{right:6%;bottom:3.5%;padding:.15rem .35rem;font-weight:600;font-size:.6875rem}.olv-routemap__actions{margin-top:1.25rem;margin-bottom:.75rem}.olv-routemap__actions .olv-btn{display:inline-flex;align-items:center;gap:.45rem;font-size:.8125rem;font-weight:600;min-height:2.5rem;padding:.5rem 1rem}.olv-routemap__actions .olv-btn .material-symbols-outlined{font-size:1.15rem}.olv-routemap__aside{margin-top:1.5rem;max-width:34rem}@media (min-width:900px){.olv-routemap__aside{margin-top:0}}.olv-routemap__lead{margin:0 0 1rem;font-size:1rem;line-height:1.6;color:var(--olv-ink-2);text-wrap:pretty}.olv-routemap__caption{margin:0;font-size:.75rem;line-height:1.5;color:var(--olv-ink-3);text-wrap:pretty}.olv-routemap__caption a{color:inherit;text-decoration:underline;text-underline-offset:.2em}.olv-routemap__caption a:hover,.olv-routemap__caption a:focus-visible{color:var(--olv-primary-deep)}.olv-routemap__stops{margin:0 0 1rem;padding:.9rem 0 0;border-top:1px solid var(--olv-line);list-style:none;counter-reset:none}.olv-routemap__stop a,.olv-routemap__stop>span{display:flex;align-items:baseline;gap:.75rem;padding:.5rem .4rem;margin-inline:-.4rem;border-radius:var(--olv-radius-sm);color:var(--olv-ink);text-decoration:none}.olv-routemap__stop+.olv-routemap__stop a,.olv-routemap__stop+.olv-routemap__stop>span{border-top:1px solid var(--olv-line);border-radius:0}.olv-routemap__stop-km{flex:none;width:4.25rem;font-family:var(--olv-font-display);font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--olv-primary-deep)}.olv-routemap__stop-name{font-size:.9375rem;text-wrap:pretty}.olv-routemap__stop-note{margin-left:auto;padding-left:.75rem;font-size:.8125rem;color:var(--olv-ink-3);text-align:right}@media (hover:hover){.olv-routemap__stop a:hover{background:var(--olv-primary-soft)}}.olv-routemap__stop a:focus-visible{outline:2px solid var(--olv-primary-bright);outline-offset:2px}@media (pointer:coarse){.olv-routemap__stop a,.olv-routemap__stop>span{min-height:var(--olv-tap);align-items:center}}