.location-card {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.location-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px -12px rgba(37, 99, 235, 0.15);
}

.location-card:hover .flag-img {
    transform: scale(1.1);
}

.flag-img {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.filter-tab {
    transition: all 0.3s ease;
}

.filter-tab.active {
    background: var(--color-brand, #2563eb);
    color: white;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.3);
}

.pagination-btn {
    transition: all 0.3s ease;
}

.pagination-btn:hover:not(.active):not(.disabled) {
    border-color: var(--color-brand, #2563eb);
    color: var(--color-brand, #2563eb);
    transform: translateY(-2px);
}

.pagination-btn.active {
    background: var(--color-brand, #2563eb);
    color: white;
    box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.4);
}

.search-glow:focus-within {
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.card-animate {
    animation: fadeInUp 0.4s ease forwards;
}
