/* The route engine lives in a small optional dialog; the map stays the main view. */
#route-planner.trail-route-planner{margin:0;color:inherit;font-size:13px;line-height:1.5;min-width:0}
#route-planner h2{font:750 25px/1.2 'Avenir Next',Avenir,system-ui,sans-serif;letter-spacing:-.6px;margin:0 35px 8px 0}
#route-planner .route-intro{color:#bfaecb;font-size:13px;margin:0 0 22px}
#route-planner .route-controls,#route-planner .route-field{min-width:0}
#route-planner .route-field>label{display:block;font-size:12px;font-weight:650;margin-bottom:7px;color:#ead8f6}
#route-planner select{width:100%;max-width:100%;min-width:0;min-height:46px;background:#171020;color:#fff4de;border:1px solid #775784;border-radius:10px;padding:10px 30px 10px 11px;font:inherit;font-size:13px;cursor:pointer;color-scheme:dark}
#route-planner button{font:inherit;font-weight:650;min-height:44px;border-radius:10px;padding:10px 14px}
#route-planner .route-nearby{padding:6px 0;text-decoration:underline;text-underline-offset:3px;border:0;color:#cfb3f5;background:transparent;font-size:12px;min-height:44px}
#route-planner .route-options{margin:15px 0 17px;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14}
#route-planner .route-options>summary,#route-planner .route-stops-disclosure>summary{cursor:pointer;padding:13px 0;min-height:44px;font-size:12px;font-weight:600;color:#cdb7df;list-style-position:inside}
#route-planner .route-count{color:#a995b9;font-size:10px;font-weight:400;margin-left:6px;display:inline-block}
#route-planner .route-options-content{padding:0 0 13px}
#route-planner .route-loop{display:flex;align-items:center;gap:10px;min-height:44px;margin:7px 0;cursor:pointer;font-size:12px}
#route-planner input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:#c0a1ff;flex-shrink:0}
#route-planner .route-plan{width:100%;background:#ffaf51;border:1px solid #ffc67f;color:#28172c;font-size:14px;min-height:47px}
#route-planner .route-plan span{margin-left:12px;font-size:18px}
#route-planner .route-clear{background:transparent;border:0;color:#d7bceb;font-size:11px;padding:6px 0 6px 12px;min-height:44px}
#route-planner .route-clear:hover{text-decoration:underline}
#route-planner .route-status{font-size:12px;color:#d8c1e7;margin:10px 0 0}
#route-planner .route-status:empty{display:none}
#route-planner .route-status[data-kind=error],#route-planner .route-status[data-kind=notice]{color:#f4c188}
#route-planner .route-results{border-top:1px solid #ffffff20;margin-top:17px;padding-top:10px}
#route-planner .route-result-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}
#route-planner .route-distance{font-weight:650;color:#ffe2ad;font-size:14px;margin:0}
#route-planner .route-result-summary{margin:0 0 3px;color:#bda8cb;font-size:11px}
#route-planner .route-next{background:#c0a1ff;color:#291933;border:1px solid #d4bdff;width:100%;text-align:left;font-size:12px;line-height:1.5}
#route-planner .route-list{list-style:none;margin:10px 0 0;padding:0;max-height:270px;overflow:auto;scrollbar-width:thin;scrollbar-color:#6c527f transparent}
#route-planner .route-step{width:100%;display:flex;gap:10px;align-items:center;text-align:left;background:transparent;border:0;border-radius:8px;color:#f5e8fc;padding:9px 3px}
#route-planner .route-step:hover{background:#ffffff09}
#route-planner .route-step-order{border:1px solid #9b73b6;color:#e0b9fb;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;font-size:11px}
#route-planner .route-step strong{display:block;font-size:12px;font-weight:650}
#route-planner .route-step small{display:block;font-size:11px;color:#b9a2c5}
#route-planner .route-method{color:#b5a0c3;font-size:11px;line-height:1.6;margin:7px 0 0}
#route-planner .route-method a{text-decoration:underline;text-underline-offset:2px}
#route-planner [hidden]{display:none!important}
#trail-map .trail-route-overlay{pointer-events:none}
#trail-map .route-line-underlay{fill:none;stroke:#fff9e8;stroke-width:7.5;stroke-linecap:round;stroke-linejoin:round;opacity:.94}
#trail-map .route-line{fill:none;stroke:#8246a9;stroke-width:3.8;stroke-linecap:round;stroke-linejoin:round;opacity:.94}
#trail-map .route-start-dot{fill:#ffaf51;stroke:#643979;stroke-width:3}
#trail-map .route-access-dot{fill:#fff6df;stroke:#8246a9;stroke-width:2.5}
@media(max-width:360px){#route-planner .route-count{display:block;margin:3px 0 0 16px}#route-planner h2{font-size:23px}}
@media print{#route-planner{display:none!important}}
