/* VENDO map: search panel, Copy URL bar, indoor entries in the province sidebar.
   Colours follow the NETWORK legend: black panels, VENDO orange headings. */

:root {
    --vm-orange: #F05623;
    --vm-panel: #000;
    --vm-row: #1c1c1c;
    --vm-row-hover: #2e2e2e;
    --vm-text: #fff;
    --vm-muted: #a9a9a9;
    --vm-digital: #F05623;
    --vm-static: #2e9b3e;
    --vm-indoor: #1e88e5;
}

/* ── Search ──────────────────────────────────────────────────────────────── */
#vm-search-toggle {
    position: fixed; top: 140px; right: 16px; z-index: 1001;
    background: var(--vm-panel); color: var(--vm-text); border: 2px solid var(--vm-orange); border-radius: 22px;
    padding: 7px 16px; font-size: 14px; line-height: 1.2; cursor: pointer; box-shadow: 0 6px 12px rgba(0,0,0,.25);
}
#vm-search-toggle:hover, #vm-search-toggle.is-open { background: var(--vm-orange); }
#vm-search-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

#vm-search-panel {
    position: fixed; top: 186px; right: 16px; z-index: 1001;
    width: 330px; max-width: calc(100vw - 32px); max-height: calc(100vh - 350px); min-height: 150px;
    display: flex; flex-direction: column;
    background: var(--vm-panel); color: var(--vm-text); padding: 12px; border-radius: 6px;
    box-shadow: 0 10px 18px rgba(0,0,0,.3);
}
#vm-search-panel[hidden] { display: none; }
.vm-search-title { color: var(--vm-orange); font-weight: 700; font-size: 15px; margin-bottom: 8px; }
#vm-search-input {
    width: 100%; border: 1px solid #444; background: #111; color: #fff; border-radius: 4px; padding: 8px 10px; font-size: 14px;
}
#vm-search-input::placeholder { color: #8a8a8a; }
#vm-search-input:focus { outline: none; border-color: var(--vm-orange); }
.vm-search-hint { color: var(--vm-muted); font-size: 11px; margin: 4px 0 8px; }

#vm-search-results { overflow-y: auto; flex: 1 1 auto; }
.vm-result {
    background: var(--vm-row); border-left: 3px solid #555; border-radius: 3px;
    padding: 7px 9px; margin-bottom: 5px; cursor: pointer;
}
.vm-result:hover, .vm-result.is-active { background: var(--vm-row-hover); border-left-color: var(--vm-orange); }
.vm-result-city { border-left-color: var(--vm-orange); }
.vm-r-title { font-weight: 600; font-size: 13px; color: #fff; }
.vm-r-title .fa { color: var(--vm-orange); margin-right: 4px; }
.vm-r-sub { font-size: 12px; color: #d6d6d6; margin-top: 1px; }
.vm-r-meta { font-size: 11px; color: var(--vm-muted); margin-top: 2px; }
.vm-search-empty { font-size: 12px; color: var(--vm-muted); padding: 6px 2px; }

.vm-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; background: var(--vm-indoor); }
.vm-dot-digital { background: var(--vm-digital); }
.vm-dot-static { background: var(--vm-static); }
.vm-dot-indoor { background: var(--vm-indoor); }

/* ── Copy URL ────────────────────────────────────────────────────────────── */
#vm-share {
    position: fixed; bottom: 5%; left: 16px; z-index: 1002;
    display: flex; gap: 6px; align-items: center;
    background: var(--vm-panel); padding: 7px; border-radius: 6px; box-shadow: 0 10px 10px -2px rgba(0,0,0,.25);
    transition: left .3s;
}
body.vm-sidebar-open #vm-share { left: 266px; }
#vm-share-url {
    width: 300px; max-width: calc(100vw - 170px); border: 1px solid #444; background: #111; color: #ddd;
    border-radius: 4px; padding: 5px 8px; font-size: 12px;
}
#vm-share-copy {
    background: #fff; color: #000; border: 0; border-radius: 4px; padding: 6px 12px; font-size: 13px; cursor: pointer; white-space: nowrap;
}
#vm-share-copy:hover { background: var(--vm-orange); color: #fff; }

@media (max-width: 767px) {
    /* Ends above the Copy URL bar, which sits above the NETWORK legend here. */
    #vm-search-panel { max-height: calc(95vh - 380px); min-height: 120px; }
    #vm-share { bottom: calc(5% + 120px); }
    body.vm-sidebar-open #vm-share { display: none; }
}

/* ── Province sidebar: indoor (Captivate) buildings under each city ──────── */
#sidebar .vm-menu-sub {
    padding: 6px 0 2px 25px; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: #9e9e9e;
}
#sidebar .vm-menu-sub .vm-dot { width: 8px; height: 8px; }
#sidebar a.vm-indoor-link { font-size: 13px; }
