	.path-plateformes-locales-de-renovation-energetique .map-wrapper {
      position: relative;
      width: 100%;
      height: 700px; /* Hauteur fixe pour s'intégrer dans une page web */
      max-height: 85vh;
      background-color: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    }

    /* --- Carte et Zoom --- */
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .viewport { width: 100%; height: 100%; cursor: grab; background: white; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .viewport:active { cursor: grabbing; }
	
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .zoom-layer { width: 100%; height: 100%; display: block; transform-origin: 0 0; touch-action: none; }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper path { stroke: #64748b; stroke-width: 0.5px; transition: fill 0.25s, opacity 0.25s; cursor: pointer; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper path:hover { stroke: #0f172a !important; stroke-width: 2px !important; opacity: 0.85; }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .highlighted-path { stroke: #dc2626 !important; opacity: 1 !important; animation: pulse-stroke 1.5s infinite; }
    @keyframes pulse-stroke { 0% { stroke-width: 1px; } 50% { stroke-width: 5px; } 100% { stroke-width: 1px; } }

    /* --- Interface (Boutons, Recherche, Légende) --- */
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .controls { position: absolute; bottom: 20px; left: 20px; z-index: 10; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .search-box { background: white; padding: 8px 14px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 8px; border: 1px solid #cbd5e1; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .search-box input { outline: none; font-size: 14px; width: 200px; border: none; padding: 2px; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .btn-search { background: #dbeafe; color: #1d4ed8; padding: 6px 12px; border-radius: 6px; font-size: 14px; font-weight: 600; border: none; cursor: pointer; transition: background 0.2s; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .btn-search:hover { background: #bfdbfe; }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .stats-pill { background: white; color: #334155; padding: 8px 16px; border-radius: 8px; font-weight: 600; font-size: 14px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); border: 1px solid #cbd5e1; display: none; }

    .path-plateformes-locales-de-renovation-energetique .map-wrapper .legend { position: absolute; bottom: 100px; left: 20px; background: white; padding: 16px; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); font-size: 13px; z-index: 10; min-width: 220px; max-height: 60vh; overflow-y: auto; border: 1px solid #e2e8f0; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .legend-title { font-weight: bold; margin-bottom: 10px; color: #1e293b; font-size: 15px; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .legend-item { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; color: #475569; }
	.path-plateformes-locales-de-renovation-energetique .map-wrapper .legend-toggle { display: none; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .dot { width: 12px; height: 12px; display: inline-block; border-radius: 3px; }
	
	/* --- Boutons de Zoom --- */
	.path-plateformes-locales-de-renovation-energetique .map-wrapper .zoom-controls { position: absolute; bottom: 20px; right: 20px; display: flex; flex-direction: column; gap: 8px; z-index: 20; }
	.path-plateformes-locales-de-renovation-energetique .map-wrapper .zoom-btn { background: white; color: #334155; border: 1px solid #cbd5e1; border-radius: 8px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold; cursor: pointer; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); transition: background 0.2s; }
	.path-plateformes-locales-de-renovation-energetique .map-wrapper .zoom-btn:hover { background: #f1f5f9; }

    /* --- Modale d'information --- */
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15, 23, 42, 0.4); backdrop-filter: blur(2px); z-index: 50; display: flex; items-center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.2s; align-items: center; display:none;}
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-overlay.active { opacity: 1; pointer-events: auto; display: flex; }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-content { background: white; border-radius: 12px; width: 90%; max-width: 380px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); transform: translateY(20px); transition: transform 0.3s ease-out; overflow: hidden; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-overlay.active .modal-content { transform: translateY(0); }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-header { background: linear-gradient(to right, #2563eb, #4f46e5); padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; color: white; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-title { margin: 0; font-size: 18px; font-weight: 700; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-close { background: rgba(255,255,255,0.2); border: none; color: white; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; display: flex; justify-content: center; align-items: center; font-size: 16px; transition: background 0.2s; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-close:hover { background: rgba(255,255,255,0.3); }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .modal-body { padding: 20px; display: flex; flex-direction: column; gap: 16px; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .info-box { background: #f8fafc; padding: 12px; border-radius: 8px; border: 1px solid #f1f5f9; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .info-label { font-size: 11px; text-transform: uppercase; color: #64748b; font-weight: 700; margin-bottom: 4px; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .info-text { font-size: 14px; color: #334155; line-height: 1.5; margin: 0; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .info-link { color: #2563eb; text-decoration: none; font-weight: 600; display: flex; align-items: center; gap: 6px; word-break: break-all; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .info-link:hover { text-decoration: underline; }
    
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .btn-action { display: block; text-align: center; background: #eff6ff; color: #2563eb; padding: 10px; border-radius: 8px; font-weight: bold; text-decoration: none; transition: background 0.2s; border: none; width: 100%; box-sizing: border-box; }
    .path-plateformes-locales-de-renovation-energetique .map-wrapper .btn-action:hover { background: #dbeafe; }
    
	.path-plateformes-locales-de-renovation-energetique .map-wrapper #legend-container .legend-close { display: none; }

	.path-plateformes-locales-de-renovation-energetique .map-wrapper .hidden { display: none !important; }
	
	
/* =========================================================
   Accessibilité : texte uniquement pour lecteurs d'écran
   ========================================================= */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

	/* --- Mobile : placer la Recherche en haut de la carte --- */
	@media (max-width: 768px) {
	  /* Ancrer la barre de contrôle en haut, avec marges et z-index suffisant */
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .controls {
		position: absolute;
		top: max(10px, env(safe-area-inset-top));  /* gère l'encoche iOS si présente */
		left: 10px;
		right: 10px;
		bottom: auto;           /* on annule le bottom:20px défini pour desktop */
		z-index: 20;            /* au-dessus de la carte, sous la modale (z=50) */
		gap: 8px;
		width: auto;
		flex-wrap: nowrap;      /* tout tient sur une ligne quand c'est possible */
	  }

	  /* Rendre la search-box plus large et fluide */
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .search-box {
		width: 100%;
		padding: 8px 12px;                /* un peu plus compact sur mobile */
		box-shadow: 0 3px 8px rgba(0,0,0,0.12);
	  }
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .search-box input {
		width: 100%;                       /* prend tout l'espace disponible */
		min-width: 0;                      /* évite les débordements */
		font-size: 15px;
	  }
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .btn-search {
		flex: 0 0 auto;                    /* taille au contenu, reste à droite */
		padding: 6px 12px;
		font-size: 14px;
	  }
	
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .legend-toggle {
		position: absolute;
		bottom: 20px;
		left: 20px;
		z-index: 200;
		background: #2563eb;
		color: #fff;
		border: none;
		border-radius: 50%;
		width: 48px;
		height: 48px;
		font-size: 22px;
		line-height: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 4px 10px rgba(0,0,0,0.25);
		cursor: pointer;
		transition: background 0.2s, transform 0.2s;
		touch-action: manipulation;  /* évite le double‑tap zoom iOS */
	  }
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .legend-toggle:active {
		transform: scale(0.97);
	  }

	  /* 2) La légende : on ne l’affiche pas en “cadre” sur mobile par défaut */
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper #legend-container {
		display: none;                 /* remplacée par le panneau quand .active */
	  }

	  /* 3) La légende devient un panneau "bottom‑sheet" quand active */
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper #legend-container.active {
		display: block;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		max-height: 60vh;
		background: #fff;
		border-radius: 12px 12px 0 0;
		box-shadow: 0 -6px 20px rgba(0,0,0,0.25);
		z-index: 250;                 /* > bouton & contrôles */
		padding: 16px 16px 10px 16px;
		overflow-y: auto;
		border: 1px solid #e2e8f0;

		/* animation d’apparition par translation verticale */
		transform: translateY(100%);
		transition: transform 0.25s ease-out;
	  }
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper #legend-container.active.show {
		transform: translateY(0);
	  }

	  /* 4) Quelques tailles un peu plus généreuses pour lisibilité mobile */
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .legend-title {
		font-size: 16px;
		margin-bottom: 10px;
	  }
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper .legend-item {
		font-size: 14px;
	  }
	  
	  /* Bouton "fermer" pour la légende (mobile) */  
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper #legend-container .legend-close {
		position: sticky;          /* reste visible en haut si la liste défile */
		top: 0;
		margin: -8px -8px 8px auto;/* plaque à droite; marge négative pour rapprocher du bord */
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border: none;
		border-radius: 18px;
		background: #e2e8f0;
		color: #0f172a;
		font-size: 20px;
		line-height: 1;
		cursor: pointer;
		box-shadow: 0 2px 6px rgba(0,0,0,.15);
	  }
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper #legend-container .legend-close:active {
		transform: scale(0.97);
	  }
	  /* Option : petite barre d’en-tête pour caler le bouton sans décaler le contenu */
	  .path-plateformes-locales-de-renovation-energetique .map-wrapper #legend-container .legend-header {
		display: flex;
		align-items: center;
		justify-content: flex-end; /* la croix à droite */
		padding: 8px;
		position: sticky;
		top: -16px; /* compense le padding du container */
		background: linear-gradient(#fff, rgba(255,255,255,0.95));
		z-index: 1;
	  }

	}
