.amp-field { position: relative; }
.amp-search { position: relative; display: flex; gap: 8px; align-items: stretch; }
.amp-search input,
.amp-search textarea {
    flex: 1;
    min-width: 0;
}
.amp-find {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 12px; border-radius: 8px; white-space: nowrap;
    border: 1px solid var(--border-glass, #dbe4ef);
    background: rgba(56,189,248,0.12); color: #0284c7;
    font-size: 0.8rem; font-weight: 600; cursor: pointer;
}
.amp-find:hover { filter: brightness(1.05); }
.amp-find:disabled { opacity: 0.55; cursor: default; }
.amp-suggest {
    display: none; position: absolute; left: 0; right: 0; top: calc(100% + 4px);
    z-index: 40; max-height: 240px; overflow: auto;
    background: var(--bg-glass, #fff); border: 1px solid var(--border-glass, #dbe4ef);
    border-radius: 10px; box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}
.amp-suggest.is-open { display: block; }
.amp-suggest button {
    display: block; width: 100%; text-align: left; border: 0; background: transparent;
    padding: 9px 12px; cursor: pointer; font-size: 0.85rem; color: inherit;
}
.amp-suggest button:hover,
.amp-suggest button.is-active { background: rgba(56,189,248,0.12); }
.amp-suggest .amp-empty {
    padding: 10px 12px; font-size: 0.8rem; color: var(--text-muted, #64748b);
}
.amp-hint { margin-top: 6px; font-size: 0.74rem; color: var(--text-muted, #64748b); line-height: 1.4; }
.amp-hint.is-error { color: #b91c1c; }
.amp-map {
    width: 100%; height: 320px; margin-top: 12px; border-radius: 12px;
    border: 1px solid var(--border-glass, #dbe4ef); overflow: hidden;
    background: rgba(0,0,0,0.04);
}
.amp-map.leaflet-container { z-index: 1; }
.amp-coords {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px;
}
@media (max-width: 576px) {
    .amp-search { flex-direction: column; }
    .amp-coords { grid-template-columns: 1fr; }
}
