 body { font-family: 'Inter', sans-serif; background-color: #f8f9fa; }
        .bg-custom-green { background-color: #1abc9c; }
        .bg-custom-green-hover:hover { background-color: #16a085; }
        .text-custom-green { color: #1abc9c; }
        .border-custom-green { border-color: #1abc9c; }
        .ring-custom-green:focus { --tw-ring-color: #1abc9c; }
        #map, #member-map { height: 600px; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); }
        .leaflet-popup-content-wrapper { border-radius: 8px; }
        .leaflet-popup-content { font-family: 'Inter', sans-serif; margin: 12px !important; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        @keyframes scaleIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
        .modal-fade-in { animation: fadeIn 0.2s ease-out forwards; }
        .modal-scale-in { animation: scaleIn 0.2s ease-out forwards; }
        .view-switcher-active { background-color: #1abc9c; color: white; }
        .sortable { cursor: pointer; position: relative; }
        .sortable::after { content: ' ↕'; position: absolute; right: 8px; opacity: 0.4; }

        /* Styles pour le Popover de profil */
        #profile-popover {
            position: absolute;
            background-color: white;
            border: 1px solid #e2e8f0;
            border-radius: 0.5rem;
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
            width: 280px;
            z-index: 1000;
            opacity: 0;
            transform: scale(0.95);
            transition: opacity 0.1s ease-out, transform 0.1s ease-out;
            pointer-events: none;
        }
        #profile-popover.visible {
            opacity: 1;
            transform: scale(1);
            pointer-events: auto;
        }
        
        /* Styles pour les cartes inactives */
        .card-inactive-content { opacity: 0.7; }
        .card-overlay {
            position: absolute; inset: 0; background-color: rgba(255, 255, 255, 0.4);
            display: flex; align-items: center; justify-content: center;
            border-radius: 0.5rem; /* Correspond au rounded-lg */
            pointer-events: none; /* Laisse les clics passer à travers l'overlay */
        }
        .card-overlay-badge {
            background-color: #2c3e50; color: white; padding: 0.5rem 1.5rem; border-radius: 9999px;
            font-size: 1rem; font-weight: 600; border: 2px solid white; box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        
        /* Tooltip badge vérifié */
        .verified-tooltip-wrapper {
            position: relative;
            display: inline-flex;
        }
        .verified-tooltip {
            visibility: hidden;
            opacity: 0;
            position: absolute;
            bottom: calc(100% + 8px);
            left: 50%;
            transform: translateX(-50%);
            background-color: #1e293b;
            color: #fff;
            font-size: 0.75rem;
            font-weight: 500;
            line-height: 1.4;
            padding: 0.5rem 0.75rem;
            border-radius: 0.5rem;
            white-space: nowrap;
            z-index: 50;
            pointer-events: none;
            transition: opacity 0.2s ease, visibility 0.2s ease;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
        }
        .verified-tooltip::after {
            content: '';
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%);
            border-width: 5px;
            border-style: solid;
            border-color: #1e293b transparent transparent transparent;
        }
        .verified-tooltip-wrapper:hover .verified-tooltip,
        .verified-tooltip-wrapper.tooltip-active .verified-tooltip {
            visibility: visible;
            opacity: 1;
        }
        @media (max-width: 640px) {
            .verified-tooltip {
                white-space: normal;
                width: max-content;
                max-width: 220px;
                left: auto;
                right: 0;
                transform: none;
            }
            .verified-tooltip::after {
                left: auto;
                right: 12px;
                transform: none;
            }
        }

        /* Style pour les annonces sponsorisées */
        .sponsored-border {
            border: 2px solid #f59e0b;
        }