/* 현 지도에서 검색 버튼 */
.btn-search-in-map {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;

    display: flex;
    align-items: center;
    gap: 8px;

    background: linear-gradient(135deg, #2A9D8F 0%, #21867A 100%);
    color: white;
    border: none;
    border-radius: 24px;
    padding: 12px 24px;

    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;

    box-shadow:
        0 4px 12px rgba(42, 157, 143, 0.4),
        0 2px 4px rgba(0, 0, 0, 0.1);

    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    animation: slideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-search-in-map:hover {
    transform: translateX(-50%) translateY(-2px);
    box-shadow:
        0 6px 16px rgba(42, 157, 143, 0.5),
        0 4px 8px rgba(0, 0, 0, 0.15);
    background: linear-gradient(135deg, #21867A 0%, #1A6B5F 100%);
}

.btn-search-in-map:active {
    transform: translateX(-50%) translateY(0);
    box-shadow:
        0 2px 8px rgba(42, 157, 143, 0.3),
        0 1px 2px rgba(0, 0, 0, 0.1);
}

.btn-search-in-map .btn-icon {
    font-size: 1.1rem;
}

.btn-search-in-map .btn-text {
    letter-spacing: -0.3px;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .btn-search-in-map {
        font-size: 0.85rem;
        padding: 10px 20px;
        top: 15px;
    }

    .btn-search-in-map .btn-icon {
        font-size: 1rem;
    }
}