/* Search is a place to make the next decision. One map, one readable offer grid. */
.radar-page { --radar-ink:#162c2c; --radar-muted:#637574; --radar-line:#dfe7e6; --radar-green:#087f68; }
.radar-page :is(button,a) svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.radar-page .hero { align-items:center; padding:34px 0 30px; }
.radar-page .hero h1 { max-width:770px; font-size:clamp(32px,3.05vw,46px); font-weight:650; letter-spacing:-1.8px; line-height:1.12; margin:12px 0 14px; }
.radar-page .hero p { color:var(--radar-muted); font-size:15px; max-width:650px; }
.radar-page .hero .eyebrow { font-size:11px; font-weight:700; letter-spacing:.13em; color:var(--radar-green); }
.radar-page .journey { width:340px; flex:0 0 340px; padding:20px; background:#edf5f0; border-color:#d8e7de; border-radius:16px; }
.radar-page .journey:before { display:none; }
.radar-page .journey-route { margin:18px 0; font-size:22px; }
.radar-page .journey .route-end svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.radar-page .journey .round-button { display:grid; place-items:center; }
.radar-page .journey-foot { gap:16px; }
.radar-page .journey-foot span { font-size:11px; color:var(--radar-muted); }
.radar-page .journey-foot strong { font-size:12px; }
.radar-page .journey .small-caps { color:#3f685d; font-size:10px; }
.radar-page .journey .pill { background:white; color:#48645b; }
.radar-page .radar-source-toolbar { gap:16px; margin:0; padding:0 0 18px; border-bottom:1px solid var(--radar-line); }
.radar-page .mode-switch { padding:4px; background:#e9efed; border-radius:10px; width:auto; }
.radar-page .mode-switch button { display:inline-flex; gap:8px; align-items:center; justify-content:center; padding:9px 14px; color:#637574; font-size:13px; font-weight:600; min-height:40px; white-space:nowrap; }
.radar-page .mode-switch button.active { color:#173e34; background:#fff; box-shadow:0 1px 3px #122e2710; }
.radar-page .radar-collections { background:transparent; gap:6px; }
.radar-page .radar-collections button { border:1px solid transparent; }
.radar-page .radar-collections button.active { border-color:#dce5e2; box-shadow:none; }
.radar-page .radar-collections span { font-size:11px; min-width:21px; height:21px; display:inline-grid; place-items:center; padding:0 5px; margin:0; background:#edf2ef; color:#55746b; border-radius:6px; }
.radar-page .demo-bar { color:var(--radar-muted); font-size:12px; line-height:1.6; border-top:0; padding:12px 0 24px; align-items:center; }
.radar-page .demo-bar > span:last-child { flex-shrink:0; }
.radar-page .demo-bar .text-button { font-size:12px; padding:0 0 0 10px; min-height:30px; }
.radar-page .radar-search-heading { gap:18px; margin:0 0 18px; }
.radar-page .radar-search-mode { background:white; padding:0; border:1px solid var(--radar-line); border-radius:11px; overflow:hidden; gap:0; }
.radar-page .radar-search-mode button { min-height:46px; padding:12px 20px; border-radius:0; }
.radar-page .radar-search-mode button.active { background:#173e34; color:white; box-shadow:none; }
.radar-page .radar-view-tools { display:flex; align-items:center; gap:12px; }
.radar-page .radar-presentation { display:flex; align-items:center; gap:4px; }
.radar-page .radar-presentation button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:10px 12px; color:#637574; font-size:13px; border:1px solid transparent; border-radius:9px; }
.radar-page .radar-presentation button.active { background:white; border-color:var(--radar-line); color:var(--radar-ink); box-shadow:0 2px 5px #162c2c04; }
.radar-page .radar-filter-toggle { display:none; align-items:center; gap:8px; padding:10px 13px; border:1px solid var(--radar-line); border-radius:9px; background:white; color:var(--radar-ink); font-size:13px; }
.radar-page .workspace { display:grid; grid-template-columns:250px minmax(0,1fr); grid-template-areas:"filters map" "filters results"; gap:24px; align-items:start; }
.radar-page .workspace[data-presentation="list"] { grid-template-areas:"filters results"; }
.radar-page .workspace[data-presentation="map"] { grid-template-areas:"filters map"; }
.radar-page .filters { grid-area:filters; display:block; position:static; padding:21px 18px; border-radius:16px; border:1px solid var(--radar-line); background:#fff; }
.radar-page .panel-heading { margin-bottom:20px; gap:8px; }
.radar-page .panel-heading h2 { font-size:14px; font-weight:650; color:var(--radar-ink); letter-spacing:-.2px; }
.radar-page .panel-heading .text-button { padding:0; min-height:32px; font-size:12px; color:#637574; text-decoration:none; }
.radar-page .filters .field { margin-bottom:17px; }
.radar-page .filters .field > span { font-size:12px; font-weight:600; color:#526864; margin-bottom:8px; }
.radar-page .filters .field :is(input,select) { width:100%; min-width:0; padding:11px 10px; font-size:13px; border-color:#dce5e2; border-radius:8px; color:var(--radar-ink); background:#fcfdfc; min-height:44px; }
.radar-page .location-button { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--radar-green); padding:0; min-height:38px; }
.radar-page .filters .field-hint { font-size:11px; line-height:1.65; color:#637574; margin:0; }
.radar-page .filters p.field-hint { margin-top:7px; }
.radar-page .filters .field-hint a { color:#3c7765; text-decoration:underline; text-underline-offset:3px; }
.radar-page .radius-label { color:#526864; font-size:12px; margin-top:24px; }
.radar-page .radius-label strong { color:var(--radar-ink); font-size:23px; letter-spacing:-.8px; }
.radar-page .radius-label small { color:#637574; font-size:12px; }
.radar-page .filters input[type="range"] { min-height:22px; height:22px; margin:9px 0 0; accent-color:var(--radar-green); }
.radar-page .range-ends { color:#637574; font-size:10px; margin-bottom:8px; }
.radar-page .divider { border-color:#edf1ef; margin:22px 0; }
.radar-page .toggle-row { font-size:12px; line-height:1.5; color:#526864; gap:9px; align-items:center; }
.radar-page .toggle-row input { width:16px; height:16px; accent-color:var(--radar-green); }
.radar-page .country-chips { gap:6px; }
.radar-page .country-chip { color:#526864; border:1px solid #dfe7e3; border-radius:7px; min-width:42px; min-height:36px; padding:6px 10px; font-size:11px; background:#fff; }
.radar-page .country-chip.active { color:#08755e; border-color:#b4d8cb; background:#eaf6f0; }
.radar-page .country-chip.active:after { display:none; }
.radar-page .filters .btn { gap:8px; font-size:12px; min-height:44px; border-color:#d8e3de; border-radius:8px; }
.radar-page .results-panel { grid-area:results; min-width:0; }
.radar-page .result-toolbar { padding:2px 0 20px; align-items:center; flex-wrap:nowrap; }
.radar-page .result-toolbar h2 { font-size:21px; font-weight:650; letter-spacing:-.6px; color:var(--radar-ink); }
.radar-page .result-toolbar p { margin-top:4px; color:var(--radar-muted); font-size:12px; }
.radar-page #sort { width:auto; max-width:170px; min-height:44px; padding:10px 12px; font-size:12px; border:1px solid var(--radar-line); border-radius:9px; background:#fff; color:#425e54; }
.radar-page #results { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:15px; }
.radar-page .load-card { padding:21px; margin:0; border:1px solid var(--radar-line); border-radius:15px; background:white; cursor:pointer; box-shadow:0 3px 8px #14382c03; color:var(--radar-ink); display:flex; flex-direction:column; }
.radar-page .load-card:hover { border-color:#a1bfb2; box-shadow:0 8px 25px #163d2e09; transform:translateY(-2px); }
.radar-page .load-card.selected { border-color:#75ae96; background:white; box-shadow:0 0 0 1px #75ae9610; }
.radar-page .card-top { margin:-6px -6px 10px 0; min-height:38px; }
.radar-page .card-type { color:#637574; display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:550; }
.radar-page .card-type svg { height:15px; width:15px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.radar-page .card-top-actions { display:flex; align-items:center; gap:8px; }
.radar-page .match-badge { background:#ecf5f0; color:#30765e; font-size:10px; border-radius:5px; padding:4px 6px; font-weight:600; white-space:nowrap; }
.radar-page .match-badge:before { display:none; }
.radar-page .save-icon { width:38px; height:38px; min-height:38px; padding:0; display:grid; place-items:center; border-radius:9px; color:#8c9e97; }
.radar-page .save-icon:hover { background:#f1f6f3; }
.radar-page .save-icon.saved { color:var(--radar-green); }
.radar-page .save-icon.saved svg { fill:#e1f2e9; }
.radar-page .card-route { gap:12px; font-size:21px; letter-spacing:-.65px; font-weight:650; line-height:1.2; align-items:flex-start; }
.radar-page .route-col { min-width:0; flex:1; overflow-wrap:anywhere; }
.radar-page .card-route .arrow { margin-top:4px; color:#93aaa1; display:inline-flex; }
.radar-page .card-route .arrow svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.5; fill:none; }
.radar-page .country-code { font-size:11px; color:#637574; font-weight:450; letter-spacing:0; line-height:1.5; margin-top:5px; }
.radar-page .card-meta { gap:5px; margin:18px 0 13px; font-size:10px; color:#536b62; }
.radar-page .card-meta span { background:#f2f5f3; padding:5px 7px; border-radius:5px; }
.radar-page .card-time { color:#637574; font-size:12px; line-height:1.6; }
.radar-page .card-time > strong { display:block; color:#435e53; font-weight:550; margin-bottom:4px; }
.radar-page .card-time > span { display:block; }
.radar-page .card-time .card-availability-note { font-size:11px; color:#637574; margin-top:5px; }
.radar-page .card-footer { border-color:#edf1ef; margin-top:18px; padding-top:16px; align-items:flex-end; gap:12px; }
.radar-page .card-distance { display:grid; gap:3px; color:#637574; font-size:10px; }
.radar-page .card-distance strong { color:#435f53; font-size:16px; font-weight:600; }
.radar-page .card-price { text-align:right; font-size:23px; font-weight:650; color:#173e34; letter-spacing:-.7px; line-height:1.2; }
.radar-page .card-price small { display:block; margin:5px 0 0; font-size:10px; line-height:1.5; color:#637574; font-weight:450; letter-spacing:0; }
.radar-page .card-price.card-open { font-size:12px; letter-spacing:0; display:inline-flex; align-items:center; gap:5px; color:var(--radar-green); }
.radar-page .card-open svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.radar-page .card-bottom { display:flex; gap:8px; margin:17px 0 0; padding-top:13px; border-top:1px solid #edf1ef; font-size:10px; color:#637574; line-height:1.5; align-items:flex-start; }
.radar-page .card-bottom > span:first-child { min-width:0; overflow-wrap:anywhere; flex:1; }
.radar-page .card-bottom > span:last-child { flex-shrink:0; color:#856c3e; }
.radar-page .load-card > .field-hint { color:#637574; font-size:10px; line-height:1.6; margin:6px 0 0; }
.radar-page .results-foot { color:#637574; font-size:12px; line-height:1.7; padding:14px 0 0; }
.radar-page .map-panel { grid-area:map; position:relative; top:auto; width:100%; height:440px; min-height:0; border-radius:17px; border:1px solid #d7e2de; background:#e7eeeb; overflow:hidden; }
.radar-page .workspace[data-presentation="map"] .map-panel { height:min(680px,75vh); min-height:490px; }
.radar-page .map-panel > #map { position:absolute; inset:0; height:100%; width:100%; }
.radar-page .map-top { left:20px; right:18px; top:18px; gap:12px; }
.radar-page .map-label { font-size:10px; letter-spacing:.1em; color:#526b62; background:#ffffffd9; padding:9px 11px; border:1px solid #ffffffa6; border-radius:7px; }
.radar-page .map-label .tiny-dot { background:#087f68; }
.radar-page .map-top > div { gap:5px; }
.radar-page .map-top button { display:grid; place-items:center; height:36px; width:36px; min-height:36px; border-radius:8px; background:#fffffff2; color:#355a4c; border:1px solid #dce6df; box-shadow:0 2px 8px #254e3410; }
.radar-page .map-top button svg { width:17px; height:17px; }
.radar-page .map-bottom { bottom:16px; left:16px; right:16px; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:18px; padding:16px 18px; border:1px solid #fff; border-radius:12px; background:#ffffffed; backdrop-filter:blur(12px); box-shadow:0 5px 22px #244e3210; }
.radar-page .map-bottom > div { min-width:0; gap:3px; }
.radar-page .map-bottom strong { font-size:14px; font-weight:650; color:#244d3f; }
.radar-page .map-bottom span { font-size:10px; color:#637574; line-height:1.4; }
.radar-page .map-bottom .btn { width:auto; font-size:12px; min-height:44px; padding:11px 13px; gap:8px; border-radius:8px; white-space:nowrap; flex-shrink:0; }
.radar-page .map-legend { bottom:126px; left:20px; padding:7px 10px; gap:12px; border:1px solid #ffffff8c; border-radius:7px; font-size:10px; color:#536c61; background:#ffffffe0; }
.radar-page .legend-dot.green { background:#0c896b; }
.radar-page .legend-dot.dark { background:#173e34; }
.radar-page .legend-dot.ring { border-color:#08866b; background:transparent; }
.radar-page .roadlink-map-marker:focus-visible { outline:2px solid #087f68; }
.radar-page .roadlink-map-marker:hover { filter:brightness(.96); }
.radar-page .empty-state { grid-column:1/-1; border:1px solid var(--radar-line); border-radius:15px; background:white; padding:40px 25px; text-align:center; }
.radar-page .empty-state .empty-symbol { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 18px; background:#eff5f1; color:#68937f; border-radius:16px; }
.radar-page .empty-state .empty-symbol svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.radar-page .empty-state h3 { font-size:20px; font-weight:600; letter-spacing:-.4px; }
.radar-page .empty-state p { max-width:430px; font-size:13px; color:#637574; margin:10px auto 20px; }
.radar-page .empty-state .btn { font-size:13px; }
.radar-page .collection-view { padding:20px 0; }
.radar-page .collection-head .eyebrow { font-size:10px; color:#637574; }
.radar-page .collection-head h2 { font-size:34px; font-weight:650; letter-spacing:-1px; }
.radar-page .collection-head p { color:#637574; font-size:14px; }
.radar-page .collection-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:18px; }
.radar-page .radar-principle { display:flex; align-items:center; gap:18px; margin:32px 0 14px; padding:24px 0; border-top:1px solid var(--radar-line); }
.radar-page .radar-principle > svg { width:28px; height:28px; flex-shrink:0; color:#638675; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.radar-page .radar-principle p { flex:1; margin:0; font-size:12px; line-height:1.7; color:#637574; max-width:780px; }
.radar-page .radar-principle strong { display:block; font-size:13px; color:#435e53; font-weight:600; }
.radar-page .radar-principle a { margin-left:auto; white-space:nowrap; color:#087f68; font-size:12px; font-weight:600; display:flex; align-items:center; gap:12px; min-height:44px; }
.radar-page #modal { background:#fff; padding:32px; width:min(680px,calc(100vw - 32px)); border-radius:20px; }
.radar-page .detail-grid { background:#f7f9f7; border-color:#e1e9e4; border-radius:12px; gap:18px; }
.radar-page .detail-grid span { font-size:12px; color:#637574; }
.radar-page .detail-grid strong { font-size:14px; color:#294e3f; }
.radar-page .reasons { color:#4f7262; font-size:13px; }
.radar-page .verification-note { color:#816531; background:#fbf7e9; font-size:12px; border:1px solid #eee6cc; border-radius:10px; }
.radar-page .calculator { background:#f2f7f3; border:1px solid #e2ebe4; border-radius:12px; }
.radar-page .calculator h3 { font-size:14px; }
.radar-page .calculator p { font-size:12px; color:#637574; }
@media (min-width:1600px) {
 .radar-page .map-panel { height:470px; }
 .radar-page .workspace { gap:28px; }
 .radar-page #results { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .radar-page .card-route { font-size:24px; }
}
@media (min-width:1180px) and (max-width:1430px) {
 .radar-page .workspace { grid-template-columns:230px minmax(0,1fr); gap:20px; }
 .radar-page #results { grid-template-columns:1fr; }
 .radar-page .hero h1 { font-size:36px; }
 .radar-page .journey { flex-basis:300px; width:300px; }
 .radar-page .radar-presentation button { padding:9px; }
 .radar-page .map-bottom { padding:13px; gap:10px; }
 .radar-page .map-bottom .btn { font-size:11px; padding:10px; }
}
@media (max-width:960px) {
 .radar-page .hero { flex-wrap:wrap; padding:28px 0; }
 .radar-page .hero h1 { font-size:36px; }
 .radar-page .journey { flex:1; min-width:280px; max-width:430px; }
 .radar-page .workspace { grid-template-columns:minmax(0,1fr); grid-template-areas:"filters" "map" "results"; gap:20px; }
 .radar-page .workspace[data-presentation="list"] { grid-template-areas:"filters" "results"; }
 .radar-page .workspace[data-presentation="map"] { grid-template-areas:"filters" "map"; }
 .radar-page .radar-filter-toggle { display:inline-flex; }
 .radar-page .workspace[data-filters-open="false"] > .filters { display:none; }
 .radar-page .filters { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; padding:24px; }
 .radar-page .filters > :is(.panel-heading,.radius-label,input[type=range],.range-ends,.field-hint,.divider,.toggle-row,.btn),.radar-page .filters > .field:has(.country-chips) { grid-column:1/-1; }
 .radar-page .radar-search-heading { flex-wrap:wrap; }
 .radar-page .radar-view-tools { flex:1; justify-content:flex-end; }
 .radar-page .map-panel { height:440px; }
}
@media (max-width:600px) {
 .radar-page .hero { padding:26px 0 24px; }
 .radar-page .hero h1 { font-size:34px; letter-spacing:-1.2px; max-width:350px; }
 .radar-page .hero p { font-size:14px; line-height:1.65; max-width:340px; }
 .radar-page .journey { min-width:0; width:100%; margin-top:8px; }
 .radar-page .radar-source-toolbar { gap:12px!important; }
 .radar-page .radar-source-toolbar .mode-switch { width:100%; }
 .radar-page .radar-source-toolbar .mode-switch button { flex:1; padding:9px 10px; font-size:12px; }
 .radar-page .radar-collections { justify-content:flex-start; padding:0; overflow-x:auto; overscroll-behavior-x:contain; }
 .radar-page .radar-collections button { flex:0 0 auto!important; }
 .radar-page .demo-bar { display:block; padding-bottom:20px; font-size:11px; }
 .radar-page .demo-bar > span { display:block; }
 .radar-page .demo-bar > span:last-child { margin-top:5px; }
 .radar-page .radar-search-heading { gap:12px; margin-bottom:16px; }
 .radar-page .radar-search-mode { width:100%; }
 .radar-page .radar-search-mode button { flex:1; font-size:13px; }
 .radar-page .radar-view-tools { justify-content:space-between; gap:8px; width:100%; }
 .radar-page .radar-presentation { gap:2px; }
 .radar-page .radar-presentation button { padding:10px; font-size:12px; }
 .radar-page .radar-presentation button svg { display:none; }
 .radar-page .radar-filter-toggle { font-size:12px; }
 .radar-page .filters { padding:20px 16px; gap:0 12px; }
 .radar-page .filters .field :is(input,select) { font-size:16px; padding:10px 8px; }
 .radar-page .filters .field > span { font-size:12px; }
 .radar-page .filters > .field-pair { grid-column:1/-1; }
 .radar-page .filters .toggle-row { font-size:13px; }
 .radar-page .filters .country-chip { min-height:44px; min-width:44px; }
 .radar-page .map-panel { height:480px; border-radius:14px; }
 .radar-page .map-top { left:12px; right:12px; top:12px; gap:6px; }
 .radar-page .map-label { font-size:8px; padding:8px; letter-spacing:.06em; }
 .radar-page .map-top button { width:40px; height:40px; min-height:40px; }
 .radar-page .map-top > div { gap:3px; }
 .radar-page .map-bottom { left:10px; right:10px; bottom:10px; flex-wrap:wrap; padding:13px; gap:10px; }
 .radar-page .map-bottom > div { width:100%; }
 .radar-page .map-bottom .btn { width:100%; font-size:12px; }
 .radar-page .map-bottom strong { font-size:13px; }
 .radar-page .map-legend { bottom:170px; left:14px; font-size:9px; }
 .radar-page .result-toolbar { align-items:flex-start; gap:10px; }
 .radar-page .result-toolbar h2 { font-size:19px; }
 .radar-page .result-toolbar p { font-size:11px; max-width:180px; }
 .radar-page #sort { max-width:140px; font-size:11px; padding:10px 8px; }
 .radar-page #results { grid-template-columns:minmax(0,1fr); gap:13px; }
 .radar-page .load-card { padding:20px; }
 .radar-page .card-route { font-size:23px; }
 .radar-page .card-meta { font-size:11px; }
 .radar-page .card-time { font-size:13px; }
 .radar-page .card-price { font-size:25px; }
 .radar-page .radar-principle { align-items:flex-start; flex-wrap:wrap; gap:14px; padding:23px 0; }
 .radar-page .radar-principle > svg { width:24px; height:24px; }
 .radar-page .radar-principle p { flex-basis:calc(100% - 42px); }
 .radar-page .radar-principle a { margin-left:38px; }
 .radar-page #modal { padding:27px 20px; border-radius:17px; }
 .radar-page .detail-grid { padding:15px; gap:16px 12px; }
 .radar-page .detail-grid strong { font-size:13px; }
}
@media (max-width:370px) {
 .radar-page .hero h1 { font-size:30px; }
 .radar-page .card-route { font-size:20px; }
 .radar-page .card-meta { font-size:10px; }
 .radar-page .map-label { letter-spacing:0; font-size:7px; }
 .radar-page .map-top button { width:36px; }
 .radar-page .radar-filter-toggle { padding:10px; }
 .radar-page .radar-presentation button { padding:10px 8px; }
}

/* Geolocation is chosen deliberately for loading and future release. */
.radar-page .listing-location { border:1px solid #dce5e2; border-radius:12px; padding:18px; background:#f7f9f8; }
.radar-page .listing-location h3 { margin:0 0 8px; font-size:16px; }
.radar-page .listing-location .field-hint { font-size:12px; line-height:1.6; margin:8px 0 14px; }
.radar-page .listing-location .toggle-row { align-items:flex-start; margin:12px 0; }
.radar-page .listing-location .toggle-row input { flex-shrink:0; }
.radar-page #public-discovery-options { padding:12px 16px; border:1px solid #dce5e2; border-radius:10px; margin:12px 0; background:#f7f9f8; }
