.route-map-section{background:#eef3f7}
.route-map,.side-trip-route-map .route-map,.stretch-route-map .route-map{width:100%;height:420px;min-height:320px;border:3px solid #183f76;border-radius:12px;z-index:0;background:#e8edf0}
.route-map-overview{height:530px}
.route-map-note,.route-map-variant{font-size:.88rem;line-height:1.5;margin:.7rem 0;color:#27384b}
.map-rail-key{display:inline-block;vertical-align:middle;width:26px;height:0;border-top:5px solid #1a4f93;margin-right:6px}
.map-picker-label{display:block;font-weight:700;margin:1rem 0 .35rem}
.map-picker-label .route-map-choice{display:block;width:100%;padding:.65rem;font:inherit;margin:.4rem 0 .7rem;border:1px solid #718392;border-radius:5px;background:#fff;color:#172333}
.route-map-action{margin:.8rem 0 .25rem}
.route-map-action[hidden]{display:none}
.route-map-jump{display:inline-block;padding:.7rem 1rem;border-radius:6px;background:#183f76;color:#fff;font-weight:700;text-decoration:none;line-height:1.3}
.route-map-jump:hover,.route-map-jump:focus-visible{background:#0e6193;color:#fff;text-decoration:underline;outline-offset:3px}
#route-map-choice{width:min(100%,480px);padding:.65rem;font:inherit;margin-bottom:1rem;border:1px solid #718392;border-radius:5px;background:white}
.side-trip-route-map,.stretch-route-map{margin:1.5rem 0}
.stretch-route-map .route-map{height:330px}
@media(max-width:640px){.route-map,.side-trip-route-map .route-map{height:340px}.route-map-overview{height:430px}.stretch-route-map .route-map{height:300px}}
.route-map-panel{padding:1.5rem max(1rem,calc((100% - 1160px)/2));background:#eef3f7}
.route-map-panel h2{margin:0 0 .8rem}
.route-map-note{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1rem}
.mode-key{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;white-space:nowrap}
.mode-key::before{content:"";width:1.5rem;border-top:5px solid #1765a4}
.mode-key.road::before{border-color:#23854d}
.mode-key.water::before{border-color:#d3444a}
.mode-key.air::before{border-color:#794cb5;border-top-style:dashed}
.mode-key.tram::before{border-color:#06a3bd}
.stretch-map-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1rem 0}
.stretch-map-filters label{display:flex;flex-direction:column;gap:.25rem;font-weight:700;min-width:min(100%,210px)}
.stretch-map-filters select,.stretch-map-filters input{padding:.65rem;border:1px solid #718392;border-radius:5px;font:inherit;background:#fff}
.stretch-map-filters p{margin:.7rem 0}
.stretch-card[hidden]{display:none!important}
.side-trip-route-map,.stretch-route-map{padding:1rem;background:#eef3f7;border-radius:10px}
@media(max-width:640px){.route-map-panel{padding:1rem}.stretch-map-filters label{width:100%}}
.travel-guide-picker{max-width:520px;margin:1.1rem 0 0}
.travel-guide-picker label{display:block;font-weight:700;margin-bottom:.3rem}
.travel-guide-picker select{width:100%;padding:.7rem;font:inherit;border:1px solid #49617a;border-radius:5px;background:#fff;color:#172333}
.escape-date-picker{margin:1rem 0;align-items:center;gap:.6rem}
.escape-date-picker input,.escape-date-picker select{padding:.5rem;font:inherit}
.route-map-browser{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:1.4rem;align-items:start;margin-bottom:1.25rem}
.route-map-browser>*{min-width:0}
.route-map-browser .route-map-panel{padding:1rem;border:2px solid #b8cbd8;border-radius:10px}
.route-map-browser .route-map-panel h2,.route-map-browser-controls h2{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.1;margin:0 0 .85rem}
.route-map-browser .route-map-overview{height:315px;min-height:270px}
.route-map-browser .route-map-note{margin:.6rem 0 0}
.route-map-browser-controls{padding:.2rem .25rem}
.route-map-browser-controls .filters{grid-template-columns:repeat(2,minmax(0,1fr));margin:.5rem 0 0}
.route-map-browser-controls .filters .field:first-child{grid-column:1/-1}
.route-map-browser-controls .side-trip-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.route-map-browser-controls .side-trip-filter-help{align-items:start;margin:1rem 0}
.route-map-browser-controls .stretch-map-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.8rem;margin:.5rem 0}
.route-map-browser-controls .stretch-map-filters label{min-width:0;width:100%}
.route-map-browser-controls .stretch-map-filters label:last-of-type{grid-column:1/-1}
.route-map-browser-controls .stretch-map-filters select,.route-map-browser-controls .stretch-map-filters input{width:100%;min-width:0}
.route-map-browser-controls .stretch-map-filters p{grid-column:1/-1}
#side-trip-map-choice{width:100%;padding:.65rem;font:inherit;margin-bottom:.6rem;border:1px solid #718392;border-radius:5px;background:#fff}
@media(max-width:850px){.route-map-browser{grid-template-columns:1fr}.route-map-browser .route-map-overview{height:350px}.route-map-browser-controls .side-trip-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.route-map-browser{gap:1rem}.route-map-browser .route-map-overview{height:290px;min-height:250px}.route-map-browser-controls .filters,.route-map-browser-controls .side-trip-controls,.route-map-browser-controls .stretch-map-filters{grid-template-columns:1fr}.route-map-browser-controls .stretch-map-filters label:last-of-type{grid-column:auto}}
.route-map-detail-layout{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:1.6rem;align-items:start}
.route-map-detail-layout>*{min-width:0}
.route-map-detail-layout .route-map-panel{padding:1rem;border:2px solid #b8cbd8;border-radius:10px}
.route-map-detail-layout .route-map{height:340px;min-height:280px}
.route-map-detail-facts>h2:first-child{margin-top:0}
.route-map-detail-facts .glance{grid-template-columns:repeat(2,minmax(0,1fr))}
.route-map-detail-facts .route-strip{flex-wrap:wrap}
.route-map-detail-layout .route-map-outline{margin-top:1rem;padding:.8rem;background:#fff;border:2px solid #183f76;border-radius:7px}
.route-map-detail-layout .route-map-outline h2,.route-map-detail-layout .route-map-outline h3{font-size:1.3rem;line-height:1.2;margin:0 0 .65rem;border-bottom:3px solid #219ebc;padding-bottom:.35rem}
.route-map-detail-layout .route-map-outline .route-strip{display:flex;flex-wrap:wrap;margin:0;padding:.75rem;background:#f7fbfd}
.route-map-detail-layout .route-map-outline .route-stop{white-space:normal}
@media(max-width:900px){.route-map-detail-layout{grid-template-columns:1fr}.route-map-detail-layout .route-map{height:320px}}
@media(max-width:600px){.route-map-detail-facts .glance{grid-template-columns:1fr}.route-map-detail-layout .route-map{height:280px;min-height:260px}}
.side-trip-map-layout{margin:1.1rem 0 1.4rem}
.side-trip-map-layout .side-trip-route-map,.stretch-card-body.route-map-detail-layout .stretch-route-map{margin:0;min-width:0}
.side-trip-map-layout .route-map,.stretch-card-body.route-map-detail-layout .route-map{height:310px;min-height:260px}
.side-trip-map-layout .route-strip{margin-top:.6rem}
.side-trip-map-layout .route-stop{white-space:normal}
.stretch-card-body.route-map-detail-layout{display:grid}
.stretch-card-body.route-map-detail-layout .route-map-detail-facts>*:first-child{margin-top:0}
.travels-subnav{background:#e9f1f7;border-block:1px solid #b8cbd8}
.travels-subnav .wrap{display:flex;gap:.35rem;align-items:center;overflow-x:auto;padding-block:.5rem;scrollbar-width:thin}
.travels-subnav a{flex:none;display:inline-block;padding:.52rem .78rem;border-radius:5px;color:#173c67;font-weight:700;text-decoration:none;white-space:nowrap}
.travels-subnav a:hover,.travels-subnav a:focus-visible,.travels-subnav a[aria-current="page"]{background:#174b81;color:white}
/* Brand accents keep the compact map layouts legible without crowding the route. */
.travels-subnav{border-top:4px solid #ffb703;background:linear-gradient(90deg,#e5f3f8,#fff7d8)}
.route-map-browser{padding:.85rem;border-radius:12px;background:linear-gradient(135deg,#daeff6 0%,#eef5f8 48%,#fff2c1 100%);border-top:6px solid #219ebc}
.route-map-browser .route-map-panel{background:#e8f2f8;border-color:#219ebc}
.route-map-browser-controls{padding:1rem 1.15rem;border:2px solid #d9bd62;border-radius:9px;background:#fff9e7}
.route-map-browser-controls h2{border-left:7px solid #e63946;padding-left:.7rem}
.route-map-browser-controls .results-line,.route-map-browser-controls #side-trip-count,.route-map-browser-controls #stretch-count{display:inline-block;padding:.35rem .7rem;border-radius:4px;background:#183f76;color:#fff}
.route-map-detail-layout{padding:.85rem;border-radius:12px;background:linear-gradient(140deg,#e5f3f8,#f5f7f6 55%,#fff5d7);border-top:6px solid #219ebc}
.route-map-detail-layout .route-map-panel{background:#e8f2f8;border-color:#219ebc}
.route-map-detail-facts{padding:1rem 1.1rem;border-left:6px solid #ffb703;border-radius:7px;background:#fff}
.route-map-detail-facts>h2,.route-map-detail-facts>h3{border-bottom:3px solid #219ebc;padding-bottom:.3rem}
.route-map-detail-facts .glance>div:nth-child(4n+1){border-top:5px solid #219ebc;background:#eaf6fa}
.route-map-detail-facts .glance>div:nth-child(4n+2){border-top:5px solid #ffb703;background:#fff8e1}
.route-map-detail-facts .glance>div:nth-child(4n+3){border-top:5px solid #e63946;background:#fff0f1}
.route-map-detail-facts .glance>div:nth-child(4n){border-top:5px solid #183f76;background:#eef1f7}
.route-map-detail-facts .route-strip{border-color:#183f76;background:#f7fbfd}
.route-map-detail-facts .route-stop:not(:last-child):after{background:#e63946}
.side-trip-map-layout,.stretch-card-body.route-map-detail-layout{margin-block:1.1rem}
@media(max-width:900px){.route-map-browser-controls,.route-map-detail-facts{padding:.9rem}}
@media(max-width:600px){.route-map-browser,.route-map-detail-layout{padding:.55rem}.route-map-browser-controls,.route-map-detail-facts{padding:.8rem}}
