body { margin:0; font-family: Roboto, Arial, sans-serif; }
    #map { width:100%; height:100vh; }

    /* miniature marker */
    .marker-thumb {
      width:48px; height:48px;
      border-radius:6px;
      background-size: cover;
      background-position: center;
      box-shadow: 0 2px 6px rgba(0,0,0,0.35);
      cursor: pointer;
      transform: translateY(-50%);
      pointer-events: auto;
      display: block;
    }

    /* popup mini‑fiche */
    .mini-card {
      width: 300px;
      max-width: calc(100vw - 24px);
      font-size: 14px;
      color: #111;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 6px 18px rgba(0,0,0,0.25);
      background: #fff;
    }
    .mini-card__img { width:100%; height:160px; object-fit:cover; display:block; }
    .mini-card__body { padding:10px 12px; }
    .mini-card__title { font-weight:700; margin:0 0 6px 0; font-size:14px; line-height:1.2; }
    .mini-card__summary { margin:0 0 8px 0; color:#333; font-size:11px; line-height:1.35; max-height:3.5em; overflow:hidden; text-overflow:ellipsis; }
    .mini-card__link { display:inline-block; padding:4px 8px; background:#001935; color:#fff; text-decoration:none; border-radius:6px; font-size:12px; }

    /* garantir visibilité des popups/controls */
    .mapboxgl-popup { z-index: 10000; pointer-events: auto;}
  .mapboxgl-popup-content { padding:0; border-radius:8px; width: 320px; background-color: #001935; max-width: calc(100vw - 24px);}
  .mapboxgl-popup-close-button { color: #fff; font-size: 20px; font-weight: bold; }
    #map .mapboxgl-ctrl { z-index: 10001; }