
    /* Harmonisation du conteneur d'itinéraire Leaflet avec le thème sombre (Style Support) */
.leaflet-routing-container {
    background-color: var(--fifth-color) !important;
    color: white !important;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid var(--tertiary-color);
    max-height: 180px;
    overflow-y: auto;
    font-size: 13px;
    text-align: left;
}
.leaflet-routing-alt h2, .leaflet-routing-alt h3 {
    color: var(--primary-color) !important;
    font-size: 14px;
}
.hub-input {
    background-color: var(--fourth-color) !important;
    border: 1px solid var(--tertiary-color) !important;
    color: white !important;
}
.hub-input:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.25rem rgba(45, 149, 213, 0.15) !important;
}
.btn:hover { transform: translateY(-1px); }

/* Style des étoiles interactives (Inversion Flex pour sélection naturelle) */
.star-rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.star-rating input { display: none; }
.star-rating label {
    font-size: 1.5rem;
    color: #374051;
    cursor: pointer;
    transition: 0.2s;
    padding: 0 4px;
}
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: #ffc107;
}

/* Leaflet Popups Style thémé sombre */
.leaflet-popup-content-wrapper {
    background-color: var(--fifth-color) !important;
    color: white !important;
    border: 1px solid var(--primary-color);
    border-radius: 8px;
}
.leaflet-popup-tip { background-color: var(--primary-color) !important; }

/* FIX VISIBILITÉ DU TEXTE POPUP CARTE */
.leaflet-popup-content b,
.leaflet-popup-content strong {
    color: var(--primary-color) !important;
    font-weight: bold;
}
.leaflet-popup-content,
.leaflet-popup-content span {
    color: #ffffff !important;
    font-size: 0.85rem;
}
