/* Styles for the Leaflet map and the locality autocomplete that replaced the Google Maps and Places APIs. */

.fp-map__label {
    background: #2f353e;
    border: 0;
    border-radius: 3px;
    box-shadow: none;
    color: #fff;
    font-weight: 700;
    padding: 1px 6px;
    white-space: nowrap;
}

.fp-map__label::before { display: none; }

/* Leaflet paints its own focus ring away, so put a visible one back for keyboard users. */
.leaflet-container a:focus-visible,
.leaflet-container button:focus-visible,
.leaflet-interactive:focus-visible {
    outline: 3px solid #0b62d6;
    outline-offset: 2px;
}

.leaflet-container { font: inherit; }

.fp-ac { position: relative; }

.fp-ac__list {
    background: #fff;
    border: 1px solid #5a6472;
    border-radius: 4px;
    box-shadow: 0 6px 24px rgba(29, 33, 39, .18);
    left: 0;
    list-style: none;
    margin: 2px 0 0;
    max-height: 17rem;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 1200;
}

.fp-ac__list[hidden] { display: none; }

.fp-ac__option {
    cursor: pointer;
    /* 44px keeps the pointer target clear of the WCAG 2.2 2.5.8 minimum. */
    min-height: 44px;
    padding: 11px 14px;
    line-height: 1.35;
}

.fp-ac__option + .fp-ac__option { border-top: 1px solid #dfe3e8; }

.fp-ac__option:hover,
.fp-ac__option.is-active {
    background: #2f353e;
    color: #fff;
}

/* Announcements only - kept out of view but left in the accessibility tree. */
.fp-ac__status {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
