.hover-lift {
    transition: transform 0.2s ease;
}

.map-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.custom-dropdown {
    min-width: 250px;
    animation: fadeInDropdown 0.3s ease;
}

    .custom-dropdown .dropdown-item {
        color: #495057;
        font-size: 14px;
        font-weight: 500;
        transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
    }

@media (hover: hover) and (pointer: fine) {
    .hover-lift:hover {
        transform: translateY(-3px);
    }

    .map-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important;
    }

    .custom-dropdown .dropdown-item:hover {
        color: #1a4c6b;
        background-color: rgba(26, 76, 107, 0.08);
        transform: translateX(2px);
    }
}

@keyframes fadeInDropdown {

    from {
        opacity: 0;
        transform: translateY(10px);
    }

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

@media (max-width: 575.98px) {

    main .custom-dropdown {
        min-width: 0;
        width: min(100%, 320px);
        max-width: calc(100vw - 24px);
    }
}

@media (hover: none) {

    .hover-lift {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {

    .hover-lift,
    .map-card,
    .custom-dropdown .dropdown-item {
        transition: none;
    }

    .custom-dropdown {
        animation: none;
    }
}
