/* EventWork address picker (OpenStreetMap) - see assets/js/ew-address-picker.js */
.ew-ap { position: relative; }

.ew-ap__list {
    display: none;
    position: absolute;
    left: 0; top: calc(100% + 4px);
    /* at least as wide as the field, but readable next to narrow search boxes */
    width: max(100%, 340px);
    max-width: calc(100vw - 32px);
    z-index: 2000; /* above Leaflet's map controls (z-index 1000) */
    margin: 0; padding: 6px 0;
    list-style: none;
    max-height: 320px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #E6EDEF;
    border-radius: 12px;
    box-shadow: 0 14px 30px -14px rgba(31, 42, 55, .35);
    text-align: left;
}
.ew-ap__list.is-open { display: block; }

.ew-ap__title {
    padding: 6px 14px 4px;
    font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    color: #0B7F7D;
}
.ew-ap__item {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 9px 14px;
    font-size: 14px; line-height: 1.4; color: #1F2A37;
    cursor: pointer;
}
.ew-ap__item i { color: #0E9F9C; margin-top: 3px; }
.ew-ap__item:hover,
.ew-ap__item.is-active { background: #EEF9F9; }
.ew-ap__empty { padding: 10px 14px; font-size: 14px; color: #6B7785; }
.ew-ap__attr {
    padding: 6px 14px 2px;
    border-top: 1px solid #F0F4F5;
    margin-top: 4px;
    font-size: 11px; color: #8A96A3;
}

.ew-ap__actions {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px;
    margin-top: 10px;
}
.ew-ap__nearby {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 14px;
    border: 1px solid #19CBC7;
    border-radius: 10px;
    background: #fff;
    color: #0B7F7D;
    font-size: 14px; font-weight: 600;
    cursor: pointer;
}
.ew-ap__nearby:hover { background: #EEF9F9; }
.ew-ap__nearby:disabled { opacity: .6; cursor: wait; }
.ew-ap__hint { font-size: 13px; color: #6B7785; }
.ew-ap__status { font-size: 13px; color: #0B7F7D; min-height: 18px; }
.ew-ap__status.is-error { color: #C62828; }

.ew-ap__map {
    display: none;
    height: 260px;
    margin-top: 12px;
    border-radius: 12px;
    border: 1px solid #E6EDEF;
    overflow: hidden;
}
.ew-ap__map.is-visible { display: block; }

.ew-ap__pin { color: #E53935; font-size: 36px; line-height: 1; text-shadow: 0 2px 4px rgba(0,0,0,.3); }
.ew-ap__pin i { display: block; }
