.snap-map-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.snap-map-search {
    margin-bottom: 10px;
}

.snap-map-search-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.snap-map-search-row input[type="text"] {
    flex: 1 1 200px;
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.snap-map-autocomplete {
    list-style: none;
    margin: 4px 0 0 0;
    padding: 0;
    border: 1px solid #ccc;
    max-height: 220px;
    overflow-y: auto;
    background: #fff;
    display: none;
    position: relative;
    z-index: 9999;
}

.snap-map-autocomplete li {
    padding: 6px 8px;
    cursor: pointer;
}

.snap-map-autocomplete li:hover {
    background: #f2f2f2;
}

.snap-map-autocomplete li.no-results {
    cursor: default;
    color: #777;
}

.snap-map-canvas {
    width: 100%;
    height: 500px;
    border: 1px solid #ddd;
}

.snap-map-pin-icon {
    border: none;
    background: transparent;
}

.snap-map-pin-wrapper {
    position: relative;
    width: 24px;
    height: 32px;
}

.snap-map-pin {
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    top: 4px;
    left: 3px;
    box-shadow: 0 0 2px rgba(0,0,0,0.4);
}

.snap-map-pin span {
    position: absolute;
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    top: 5px;
    left: 5px;
}

.snap-map-infowindow {
    font-size: 14px;
}
