/* OVspot Filter Component V100 — standalone */
#mapTools{--filter-radius:18px;--filter-radius-sm:11px;position:relative;width:100%;max-width:100%;overflow:visible;background:var(--surface,#fff);color:var(--ink,#17384b);border:1px solid var(--border,#d8e2e7);border-radius:var(--filter-radius);box-shadow:var(--shadow,0 14px 34px rgba(18,42,55,.14));font-family:inherit}
#mapTools *{box-sizing:border-box}
#mapTools .ov-filter-head{height:60px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border,#d8e2e7);background:linear-gradient(180deg,var(--surface,#fff),color-mix(in srgb,var(--surface,#fff) 97%,#eef3f5));border-radius:var(--filter-radius) var(--filter-radius) 0 0}
#mapTools .ov-filter-title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:-.01em}
#mapTools .ov-filter-mark{width:9px;height:9px;border-radius:50%;background:var(--primary,#1d6f42);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary,#1d6f42) 11%,transparent)}
#mapTools #toolsClose{width:40px;height:40px;min-width:40px;padding:0;display:grid;place-items:center;border:1px solid var(--border,#d8e2e7);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#17384b);box-shadow:0 7px 18px rgba(18,42,55,.08);font-size:20px;line-height:1;cursor:pointer}
#mapTools .ov-filter-body{position:relative;padding:14px;display:grid;gap:14px;overflow:visible}
#mapTools .ov-filter-section{position:relative;z-index:1;min-width:0;display:grid;gap:7px}
#mapTools .ov-filter-label{font-size:10px;font-weight:800;line-height:1;color:var(--muted,#6e7f8b);letter-spacing:.09em;text-transform:uppercase}
#mapTools .ov-line-search{height:46px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--border,#d8e2e7);border-radius:var(--filter-radius-sm);background:var(--surface,#fff);box-shadow:0 3px 10px rgba(18,42,55,.045)}
#mapTools .ov-line-search svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--primary,#1d6f42);stroke-width:1.8;stroke-linecap:round}
#mapTools .ov-line-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink,#17384b);font:600 13px/1.2 inherit}
#mapTools .ov-line-search input::placeholder{color:var(--muted,#83929c);font-weight:500}
#mapTools .ov-line-clear{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted,#6e7f8b);cursor:pointer}
#mapTools .ov-stop-search-section{z-index:21}
#mapTools .ov-stop-search-wrap{position:relative;min-width:0}
#mapTools .ov-stop-search-results{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;overflow-x:hidden;padding:6px;border:1px solid var(--border,#d8e2e7);border-radius:11px;background:var(--surface,#fff);box-shadow:0 12px 28px rgba(18,42,55,.16)}
#mapTools .ov-stop-search-results[hidden]{display:none!important}
#mapTools .ov-stop-result{width:100%;min-height:44px;padding:7px 9px;display:grid;gap:3px;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--ink,#17384b);cursor:pointer}
#mapTools .ov-stop-result:hover,#mapTools .ov-stop-result:focus-visible{background:color-mix(in srgb,var(--primary,#1d6f42) 7%,var(--surface,#fff))}
#mapTools .ov-stop-result strong{font-size:12px;font-weight:800;line-height:1.25}
#mapTools .ov-stop-result small,#mapTools .ov-stop-search-empty{font-size:10px;color:var(--muted,#6e7f8b);line-height:1.3}
#mapTools .ov-stop-search-empty{padding:10px 9px}
#mapTools .ov-filter-dual{position:relative;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
#mapTools .ov-filter-select{position:static;min-width:0}
#mapTools .ov-filter-select>summary{min-height:48px;padding:0 10px;display:flex;align-items:center;gap:8px;list-style:none;border:1px solid var(--border,#d8e2e7);border-radius:var(--filter-radius-sm);background:linear-gradient(180deg,var(--surface,#fff),color-mix(in srgb,var(--surface,#fff) 97%,#eef3f5));box-shadow:0 3px 10px rgba(18,42,55,.045);cursor:pointer}
#mapTools .ov-filter-select>summary::-webkit-details-marker{display:none}
#mapTools .ov-select-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--primary,#1d6f42);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#mapTools .ov-select-copy{min-width:0;display:grid;gap:2px;text-align:left}
#mapTools .ov-select-copy small{font-size:9px;font-weight:800;color:var(--muted,#6e7f8b);letter-spacing:.06em;text-transform:uppercase}
#mapTools .ov-select-copy strong{min-width:0;font-size:11px;font-weight:700;line-height:1.15;color:var(--ink,#17384b);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
#mapTools .ov-select-chevron{margin-left:auto;width:16px;height:16px;flex:0 0 16px;fill:none;stroke:var(--muted,#788995);stroke-width:2;stroke-linecap:round;transition:transform .15s ease}
#mapTools .ov-filter-select[open] .ov-select-chevron{transform:rotate(180deg)}
#mapTools .ov-filter-popover{display:none;position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;overflow-x:hidden;padding:7px;border:1px solid var(--border,#d8e2e7);border-radius:11px;background:var(--surface,#fff);box-shadow:0 12px 28px rgba(18,42,55,.16)}
#mapTools .ov-filter-select[open]>.ov-filter-popover{display:block}
#mapTools .ov-filter-popover label{min-height:40px;padding:6px 9px;display:flex;align-items:center;gap:9px;border-radius:8px;color:var(--ink,#17384b);font-size:12px;font-weight:600;white-space:normal;cursor:pointer}
#mapTools .ov-filter-popover label:hover{background:color-mix(in srgb,var(--primary,#1d6f42) 7%,var(--surface,#fff))}
#mapTools .ov-filter-popover label:has(input:checked){color:var(--primary,#1d6f42);font-weight:800;background:color-mix(in srgb,var(--primary,#1d6f42) 6%,var(--surface,#fff))}
#mapTools .ov-filter-popover input{width:17px;height:17px;flex:0 0 auto;accent-color:var(--primary,#1d6f42)}
#mapTools .ov-filter-popover::-webkit-scrollbar{width:8px}
#mapTools .ov-filter-popover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted,#6e7f8b) 32%,transparent);border-radius:999px}
#mapTools .ov-mode-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
#mapTools .ov-mode-grid button{min-width:0;height:42px;padding:4px 2px;display:grid;place-items:center;gap:2px;border:1px solid var(--border,#d8e2e7);border-radius:11px;background:var(--surface,#fff);color:#4d6472;box-shadow:0 2px 7px rgba(18,42,55,.035);font:700 10px/1 inherit;cursor:pointer}
#mapTools .ov-mode-grid button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#mapTools .ov-mode-grid button.active{color:var(--primary,#1d6f42);border-color:color-mix(in srgb,var(--primary,#1d6f42) 28%,var(--border,#d8e2e7));background:color-mix(in srgb,var(--primary,#1d6f42) 9%,var(--surface,#fff))}
#mapTools .ov-map-options{position:relative;z-index:1;border:1px solid var(--border,#d8e2e7);border-radius:var(--filter-radius-sm);background:var(--surface,#fff);box-shadow:0 3px 10px rgba(18,42,55,.04)}
#mapTools .ov-map-options>summary{min-height:46px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-size:13px;font-weight:750}
#mapTools .ov-map-options>summary::-webkit-details-marker{display:none}
#mapTools .ov-map-summary-left{display:flex;align-items:center;gap:9px}
#mapTools .ov-map-summary-left svg,#mapTools .ov-map-chevron{width:17px;height:17px;fill:none;stroke:var(--primary,#1d6f42);stroke-width:1.9;stroke-linecap:round}
#mapTools .ov-map-chevron{stroke:var(--muted,#788995);transition:transform .15s ease}
#mapTools .ov-map-options[open] .ov-map-chevron{transform:rotate(180deg)}
#mapTools .ov-map-body{padding:0 10px 10px}
#mapTools .ov-filter-footer{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;padding:14px;border-top:1px solid var(--border,#d8e2e7);background:var(--surface,#fff);border-radius:0 0 var(--filter-radius) var(--filter-radius)}
#mapTools .ov-footer-action{min-width:0;min-height:46px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border,#d8e2e7);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#17384b);box-shadow:0 7px 18px rgba(18,42,55,.08);font:750 12px/1 inherit;white-space:nowrap;cursor:pointer}
#mapTools .ov-footer-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#mapTools #themeToggle:before{content:'';width:17px;height:17px;flex:0 0 17px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 15.5A8 8 0 0 1 8.5 4 8.5 8.5 0 1 0 20 15.5Z' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 15.5A8 8 0 0 1 8.5 4 8.5 8.5 0 1 0 20 15.5Z' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
#mapTools #stopsToggle{border-color:color-mix(in srgb,var(--primary,#1d6f42) 28%,var(--border,#d8e2e7));background:linear-gradient(180deg,color-mix(in srgb,var(--primary,#1d6f42) 5%,var(--surface,#fff)),color-mix(in srgb,var(--primary,#1d6f42) 10%,var(--surface,#fff)));color:var(--primary,#1d6f42)}
#mapTools .ov-filter-compat{display:none!important}
#mapTools button:focus-visible,#mapTools summary:focus-visible,#mapTools input:focus-visible{outline:3px solid color-mix(in srgb,var(--primary,#1d6f42) 22%,transparent);outline-offset:2px}
body.theme-night #mapTools,body.theme-night #mapTools .ov-filter-head,body.theme-night #mapTools .ov-line-search,body.theme-night #mapTools .ov-filter-select>summary,body.theme-night #mapTools .ov-filter-popover,body.theme-night #mapTools .ov-mode-grid button,body.theme-night #mapTools .ov-map-options,body.theme-night #mapTools .ov-filter-footer,body.theme-night #mapTools .ov-footer-action{background:var(--surface,#17242d);color:var(--ink,#eef4f6)}
body.theme-night #mapTools .ov-filter-head,body.theme-night #mapTools .ov-filter-select>summary{background:linear-gradient(180deg,var(--surface,#17242d),color-mix(in srgb,var(--surface,#17242d) 94%,#fff))}
body.theme-night #mapTools .ov-stop-search-results{background:var(--surface,#17242d);color:var(--ink,#eef4f6)}
#exploreDock:not(.collapsed) #mobileQuickBar,#exploreDock.is-expanded #mobileQuickBar,#exploreDock:has(#mapTools.mobile-open) #mobileQuickBar{display:none!important}
@media(min-width:761px){#exploreDock{width:318px!important}#mapTools{max-height:none!important;overflow:visible!important}}
@media(max-width:760px){#mapTools{border-radius:20px;max-height:none;overflow:visible}#mapTools .ov-filter-head{position:sticky;top:0;z-index:8}#mapTools .ov-filter-body{padding:12px;gap:12px}#mapTools .ov-filter-dual{gap:7px}#mapTools .ov-filter-footer{position:relative;z-index:1;padding:12px}#mapTools .ov-footer-action{min-height:46px}#mapTools .ov-mode-grid button{min-height:44px;height:44px}}
@media(max-width:360px){#mapTools .ov-filter-body{padding:10px}#mapTools .ov-mode-grid{gap:4px}#mapTools .ov-mode-grid button{font-size:9px}#mapTools .ov-select-copy strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){#mapTools .ov-select-chevron,#mapTools .ov-map-chevron{transition:none}}

.mode-chip,.modaliteit-chip{z-index:1}
