.evb-location-button {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; flex: 0 0 40px; padding: 9px;
    border: 0; border-radius: 10px; background: #edf5ef; color: #187747;
    cursor: pointer;
}
.evb-location-button svg, .evb-location-suggestion svg { width: 22px; height: 22px; flex: 0 0 22px; }
.evb-location-button:hover, .evb-location-suggestion:hover { background: #e0efe5; }
.evb-location-button:focus-visible, .evb-location-suggestion:focus-visible { outline: 2px solid #187747; outline-offset: 2px; }
[data-evb-location-ready][aria-busy="true"] { opacity: .55; cursor: progress; }
.evb-location-suggestion {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px;
    padding: 12px 14px; border: 0; border-radius: 8px; text-align: left;
    background: #f0f7f2; color: #187747; font: inherit; font-weight: 700; cursor: pointer;
}
.evb-location-suggestion.is-active { outline: 2px solid #187747; outline-offset: -2px; }
.evb-user-position-dot {
    width: 18px; height: 18px; border-radius: 50%; background: #2563eb;
    border: 3px solid white; box-sizing: border-box;
    box-shadow: 0 0 0 6px rgba(37, 99, 235, .2); pointer-events: none;
}
body.evb-planner-page .evb-planner-panel .evb-point-row .evb-point-input { padding-right: 68px !important; }
body.evb-planner-page .evb-point-input-wrap .evb-point-locate {
    position: absolute; right: 28px; top: 50%; transform: translateY(-50%);
    width: 36px; height: 40px; padding: 8px; z-index: 2;
}
body.evb-planner-page .evb-point-input:placeholder-shown ~ .evb-point-locate { right: 0; }
body.evb-planner-page .evb-planner-panel .evb-point-input:placeholder-shown { padding-right: 40px !important; }
.evb-range-search-field { grid-template-columns: 22px minmax(0, 1fr) 40px !important; }
@media (max-width: 768px) {
    body.evb-range-search-open .evb-range-search-field { grid-template-columns: 22px minmax(0, 1fr) 40px 36px !important; }
    body.evb-planner-page .evb-point-row.is-searching .evb-point-locate { right: 43px; }
    body.evb-planner-page .evb-planner-panel .evb-point-row.is-searching .evb-point-input { padding-right: 84px !important; }
}
