        /* Styles pour l'animation de chargement */
        #searchButton .search-icon {
            opacity: 1;
            transition: opacity 0.2s ease;
        }

        #searchButton .loader {
            opacity: 0;
            transition: opacity 0.2s ease;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        #searchButton.is-loading .search-icon {
            opacity: 0;
        }

        #searchButton.is-loading .loader {
            opacity: 1;
        }

        /* Styles améliorés pour les résultats de recherche */
        #searchResults {
            border-radius: 16px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            border: 1px solid #e2e8f0;
            transition: all 0.3s ease;
        }

        .search-result-item {
            display: flex;
            align-items: center;
            padding: 12px 16px;
            border-bottom: 1px solid #f0f4f8;
            transition: all 0.2s ease;
        }

        .search-result-item:last-child {
            border-bottom: none;
        }

        .search-result-item:hover,
        .search-result-item.active {
            background-color: #EBF5FF;
        }

        .search-result-item .city-name {
            font-weight: 500;
            color: #1a202c;
        }

        .search-result-item .postal-code {
            color: #306CB5;
            font-weight: 600;
            margin-left: 8px;
        }

        .search-result-item .icon {
            margin-left: auto;
            color: #306CB5;
            opacity: 0;
            transition: all 0.2s ease;
        }

        .search-result-item:hover .icon,
        .search-result-item.active .icon {
            opacity: 1;
            transform: translateX(0);
        }

        .no-results {
            padding: 16px;
            text-align: center;
            color: #64748b;
        }