/* Smart Journey Planner · v56. Scoped to the planner so other map panels retain their layout. */
.sidebar .smart-journey-planner{display:grid;gap:12px;padding-bottom:22px}
.sidebar .smart-journey-planner[hidden],.journey-suggestions[hidden],.journey-map-pick-banner[hidden]{display:none!important}
.journey-planner-heading{display:grid;gap:3px}
.journey-planner-kicker{font-size:10px;font-weight:800;letter-spacing:.11em;color:#2466bc}
.journey-planner-heading p{font-size:11px;line-height:1.55;color:#64748b;margin:0}
.journey-location-stack{position:relative;display:grid;gap:7px}
.journey-location-field{position:relative;padding:9px 11px 8px;border:1px solid #dce5f0;border-radius:15px;background:#fff;transition:border-color .18s,box-shadow .18s}
.journey-location-field:focus-within{border-color:#3488ed;box-shadow:0 0 0 3px rgba(52,136,237,.12);z-index:5}
.journey-location-field>label{display:block;margin:0 0 4px 2px;font-size:9px;letter-spacing:.09em;font-weight:800;color:#748195}
.journey-input-row{display:flex;align-items:center;gap:9px;min-height:35px}
.journey-endpoint-dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px #16a765;background:#16a765}
.journey-endpoint-dot.destination{background:#ee7854;box-shadow:0 0 0 1.5px #ee7854}
.journey-input-row input{width:0;min-width:0;flex:1;height:36px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#182b43;font-size:12px;font-family:inherit;font-weight:650;padding:0!important;appearance:none}
.journey-input-row input::placeholder{color:#8996a8;font-weight:500}
.journey-input-row input::-webkit-search-cancel-button{display:none}
.journey-inline-action{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;border:0;border-radius:10px;background:#edf5ff;color:#2568bc;cursor:pointer;transition:background .18s,transform .18s}
.journey-inline-action:hover{background:#d9ecff}.journey-inline-action:active{transform:scale(.94)}
.journey-inline-action svg,.journey-pick-map svg,.journey-plan-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.journey-swap{z-index:6;justify-self:end;margin:-11px 16px -11px 0;width:34px;height:34px;border:1px solid #dce5f0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#2759a3;box-shadow:0 3px 9px rgba(24,47,81,.1);cursor:pointer;transition:transform .2s,background .2s}
.journey-swap:hover{transform:rotate(180deg);background:#edf5ff}.journey-swap svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.journey-suggestions{max-height:min(238px,34dvh);overflow-y:auto;overscroll-behavior:contain;margin:7px -4px 1px;padding:4px;border-top:1px solid #e8edf5;scrollbar-width:thin}
.journey-option{width:100%;min-height:46px;display:flex;gap:9px;align-items:center;text-align:left;padding:7px 8px;border:0;border-radius:10px;background:transparent;color:#223751;font-family:inherit;cursor:pointer}
.journey-option:hover,.journey-option.is-active{background:#eaf3ff}
.journey-option-icon{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;background:#eef4fb;color:#2769b6;font-size:13px;font-weight:900}
.journey-option-copy{display:grid;gap:2px;min-width:0;flex:1}
.journey-option-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.3}
.journey-option-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#6a7b90}
.journey-suggestion-message{padding:11px 9px;font-size:11px;color:#748397;line-height:1.5}
.journey-plan-actions{display:flex;gap:7px}
.journey-pick-map{min-height:39px;display:flex;justify-content:center;align-items:center;gap:6px;flex:1;padding:7px 6px;border:1px solid #dce7f3;border-radius:11px;background:#f5f9fe;color:#34699d;font-size:10px;font-weight:750;font-family:inherit;cursor:pointer;transition:background .18s,border-color .18s}
.journey-pick-map svg{width:15px;height:15px;flex-shrink:0}.journey-pick-map:hover{background:#e8f2ff;border-color:#b9d6fb}
.journey-planner-status{font-size:10.5px;color:#71849c;line-height:1.5;border-radius:9px}
.journey-planner-status[data-state='error']{color:#ba4b3d}.journey-planner-status[data-state='ready']{color:#168065}
.sidebar .journey-plan-submit{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px}
.journey-plan-submit>span:last-child{margin-left:auto;font-size:18px}.journey-plan-submit>svg{flex-shrink:0}
.journey-plan-results{margin:0!important;padding:12px!important;border:1px solid #e0eaf5;border-radius:13px;background:#f8fbff!important;color:#42566b;font-size:11px;line-height:1.55}
.journey-result-head{font-size:12px;font-weight:800;color:#1b3556;margin:0 0 7px}
.journey-result-intro{font-size:10.5px;margin:0 0 8px;color:#60758b}
.journey-result-route,.journey-nearby-item{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #e3ebf5}
.journey-result-main{min-width:0;flex:1;display:grid;gap:3px}.journey-result-main strong{color:#203f65;font-size:11px}.journey-result-main small{font-size:10px;color:#708299}
.journey-result-action{flex-shrink:0;min-height:31px;padding:5px 8px;border:1px solid #bbd9fb;border-radius:8px;background:#e7f2ff;color:#245b9e;font-size:10px;font-weight:800;cursor:pointer;font-family:inherit}
.journey-result-action:hover{background:#d6e9ff}
.journey-data-note{font-size:9px;line-height:1.55;color:#8190a4;margin:0}
.map-shell>.journey-map-pick-banner{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:790;width:min(420px,calc(100% - 28px));display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 12px;border:1px solid #d6e5f7;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(18,44,74,.2);font-size:11px;font-weight:750;color:#1f476c;backdrop-filter:blur(15px)}
.journey-map-pick-banner button{border:0;border-radius:9px;background:#e3efff;color:#215da4;padding:7px 10px;cursor:pointer;font-family:inherit;font-size:10.5px;font-weight:800}
@media(max-width:768px){.sidebar .smart-journey-planner{gap:10px}.journey-suggestions{max-height:min(190px,26dvh)}.map-shell>.journey-map-pick-banner{top:72px}}
@media(prefers-reduced-motion:reduce){.journey-location-field,.journey-inline-action,.journey-swap,.journey-pick-map{transition:none}}
:root[data-theme='dark'] .journey-planner-heading p,:root[data-theme='dark'] .journey-data-note{color:#a7b5c7}
:root[data-theme='dark'] .journey-planner-kicker{color:#91bfff}
:root[data-theme='dark'] .journey-location-field,:root[data-theme='dark'] .journey-swap{background:#202b3a;border-color:#40506a}
:root[data-theme='dark'] .journey-location-field>label{color:#a0aec0}
:root[data-theme='dark'] .journey-input-row input{color:#edf3fc}
:root[data-theme='dark'] .journey-input-row input::placeholder{color:#92a2b9}
:root[data-theme='dark'] .journey-inline-action,:root[data-theme='dark'] .journey-pick-map{background:#283c56;color:#a3ceff;border-color:#405775}
:root[data-theme='dark'] .journey-suggestions,:root[data-theme='dark'] .journey-result-route,:root[data-theme='dark'] .journey-nearby-item{border-color:#40516b}
:root[data-theme='dark'] .journey-option{color:#e9f2ff}:root[data-theme='dark'] .journey-option:hover,:root[data-theme='dark'] .journey-option.is-active{background:#344965}
:root[data-theme='dark'] .journey-option-icon{background:#34455f;color:#a3ceff}
:root[data-theme='dark'] .journey-option-copy small,:root[data-theme='dark'] .journey-suggestion-message,:root[data-theme='dark'] .journey-planner-status{color:#a6b6cb}
:root[data-theme='dark'] .journey-plan-results{background:#1e2c3e!important;border-color:#41536a;color:#bccde1}
:root[data-theme='dark'] .journey-result-head,:root[data-theme='dark'] .journey-result-main strong{color:#eef5ff}
:root[data-theme='dark'] .journey-result-main small{color:#a9bdd2}
:root[data-theme='dark'] .journey-result-action{background:#2c496a;border-color:#4d749e;color:#b6d9ff}
:root[data-theme='dark'] .map-shell>.journey-map-pick-banner{background:rgba(28,41,57,.97);border-color:#42546a;color:#e5f1ff}
:root[data-theme='dark'] .journey-map-pick-banner button{background:#2d4d73;color:#c7e1ff}

/* Multimodal route cards · v57 */
.journey-plan-version{display:inline-flex;margin-left:5px;border:1px solid #bfdbff;background:#eaf3ff;color:#2c70b9;border-radius:5px;padding:2px 4px;font-size:8px;letter-spacing:.04em;vertical-align:middle}
.journey-multi-head{display:flex;gap:6px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:6px}
.journey-multi-head .journey-result-head{margin:0}
.journey-multi-beta{display:inline-flex;border-radius:100px;border:1px solid #cce0f8;background:#e9f3ff;padding:4px 6px;color:#2b6cb4;font-size:9px;font-weight:850;white-space:nowrap}
.journey-trip-card{position:relative;margin:9px 0;border:1px solid #dbe5f2;border-radius:14px;background:#fff;box-shadow:0 3px 11px rgba(20,49,86,.045);overflow:hidden;transition:border-color .18s,box-shadow .18s}
.journey-trip-card.is-expanded{border-color:#b0cfee;box-shadow:0 5px 18px rgba(23,65,107,.08)}
.journey-trip-heading{display:grid;position:relative;width:100%;min-height:96px;text-align:left;gap:6px;padding:12px 32px 12px 12px;background:transparent;border:0;color:#243b56;cursor:pointer;font-family:inherit}
.journey-trip-heading:hover{background:#f5faff}
.journey-trip-line{display:flex;gap:7px;align-items:center;justify-content:space-between}
.journey-trip-tag{border-radius:7px;background:#e9f5ee;color:#17835b;padding:4px 7px;font-size:9px;font-weight:850}
.journey-trip-duration{font-size:12px;font-weight:850;color:#123b6a;font-variant-numeric:tabular-nums}
.journey-trip-modes{font-size:11.5px;font-weight:850;color:#183d6a;line-height:1.35}
.journey-trip-desc{font-size:10px;color:#637891}
.journey-trip-chevron{position:absolute;right:11px;bottom:15px;color:#5682b1;font-size:20px;transition:transform .2s}
.journey-trip-card.is-expanded .journey-trip-chevron{transform:rotate(180deg)}
.journey-trip-body{display:none;border-top:1px solid #e5edf5;padding:11px 12px 12px;background:#fafeff}
.journey-trip-card.is-expanded .journey-trip-body{display:block}
.journey-itinerary-list{position:relative;display:grid;gap:0;list-style:none;padding:0;margin:0 0 8px}
.journey-itinerary-leg{display:flex;align-items:stretch;gap:10px;min-height:66px;position:relative}
.journey-itinerary-leg:not(:last-child):before{content:"";position:absolute;left:13px;top:30px;bottom:0;border-left:2px dashed #cadbec}
.journey-leg-icon{z-index:1;display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#e8f6f0;color:#0c916d;font-size:16px;font-weight:850}
.journey-ride-icon{background:#ebf2ff;color:#2f70be}
.journey-leg-copy{display:grid;align-content:start;gap:3px;min-width:0;padding:2px 0 13px;flex:1}
.journey-leg-copy strong{font-size:11px;color:#243d62;line-height:1.3}
.journey-leg-copy span{font-size:10px;line-height:1.45;color:#344f6d}
.journey-leg-copy small{font-size:9.5px;color:#778da4;line-height:1.4}
.journey-trip-map{display:block;width:100%;min-height:37px;border:1px solid #b8d8fc;border-radius:10px;background:#eaf4ff;color:#245fa5;font-size:10.5px;font-family:inherit;font-weight:800;cursor:pointer;padding:9px}
.journey-trip-map:hover{background:#daecff}
.journey-trip-warning{margin:9px 0 0;font-size:9px;line-height:1.55;color:#7b8ca0}
.journey-loading-result{padding:10px;text-align:center;font-size:10.5px;color:#557998;background:#edf6ff;border-radius:10px;line-height:1.6}
@media(max-width:768px){.journey-trip-heading{min-height:94px}.journey-itinerary-leg{min-height:69px}}
:root[data-theme='dark'] .journey-plan-version,:root[data-theme='dark'] .journey-multi-beta{background:#304964;border-color:#456f9c;color:#bedbff}
:root[data-theme='dark'] .journey-trip-card{background:#24354b;border-color:#405974;box-shadow:none}
:root[data-theme='dark'] .journey-trip-card.is-expanded{border-color:#547fa7}
:root[data-theme='dark'] .journey-trip-heading:hover{background:#2d4260}
:root[data-theme='dark'] .journey-trip-tag{background:#23493e;color:#94e5bf}
:root[data-theme='dark'] .journey-trip-duration,:root[data-theme='dark'] .journey-trip-modes,:root[data-theme='dark'] .journey-leg-copy strong{color:#eaf4ff}
:root[data-theme='dark'] .journey-trip-desc,:root[data-theme='dark'] .journey-leg-copy span{color:#b5c8df}
:root[data-theme='dark'] .journey-trip-body{background:#203249;border-color:#415673}
:root[data-theme='dark'] .journey-leg-copy small,:root[data-theme='dark'] .journey-trip-warning{color:#a1b5cc}
:root[data-theme='dark'] .journey-leg-icon{background:#234b43;color:#91e5c7}
:root[data-theme='dark'] .journey-ride-icon{background:#304765;color:#a3caff}
:root[data-theme='dark'] .journey-itinerary-leg:not(:last-child):before{border-color:#56708f}
:root[data-theme='dark'] .journey-trip-map{background:#315578;border-color:#507ba6;color:#e1f1ff}
:root[data-theme='dark'] .journey-loading-result{background:#263d57;color:#b6d0e9}

/* v58 · route focus, map badges and clear geometric accuracy states */
.journey-trip-map.is-map-active,.journey-trip-map[aria-pressed='true']{background:#d8f3e8;border-color:#80cfaf;color:#086c4f}
.journey-endpoint-wrapper{border:0;background:transparent}
.journey-endpoint-marker{width:30px;height:30px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#132f69;color:white;font:800 12px/1 inherit;box-shadow:0 2px 11px rgba(11,36,76,.38)}
.journey-map-legend{position:absolute;top:68px;left:16px;z-index:760;display:grid;gap:3px;max-width:min(240px,calc(100% - 32px));padding:10px 12px;border:1px solid rgba(215,229,241,.95);border-radius:12px;background:rgba(255,255,255,.96);color:#193d61;box-shadow:0 9px 23px rgba(16,39,77,.17);pointer-events:none;backdrop-filter:blur(12px)}
.journey-map-legend strong{font:800 11px/1.3 inherit}
.journey-map-legend span{font:600 9px/1.4 inherit;color:#667b94}
@media(max-width:820px){.journey-map-legend{top:76px;left:12px;max-width:190px;padding:8px 10px}}
:root[data-theme='dark'] .journey-trip-map.is-map-active,:root[data-theme='dark'] .journey-trip-map[aria-pressed='true']{background:#1a5549;border-color:#378a74;color:#c4ffea}
:root[data-theme='dark'] .journey-map-legend{background:rgba(25,40,60,.96);border-color:#45617d;color:#f0f6ff}
:root[data-theme='dark'] .journey-map-legend span{color:#b0c4d9}
