/* =========================================================================
   map.css — Conteneur Leaflet + marqueurs personnalisés
   ========================================================================= */
.map-intro { text-align: center; margin-bottom: 1.4rem; }
.map-intro h2 { font-size: 2rem; }
.map-intro p { color: var(--ink-soft); max-width: 50ch; margin: .4rem auto 0; }

#map {
  height: 70vh; min-height: 460px;
  border-radius: var(--r-lg);
  border: 1px solid var(--line-strong);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  z-index: 1;
}

/* Marqueurs (divIcon) */
.mk { display: flex; align-items: center; justify-content: center; font-weight: 700; transition: transform .25s ease; }
/* Étape active (carte collante du Carnet synchronisée au scroll) */
.mk-wrap--active { z-index: 1000 !important; }
.mk-wrap--active .mk--base {
  transform: scale(1.22);
  box-shadow: 0 0 0 5px rgba(154,59,38,.30), var(--shadow-md);
}
.mk--base {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--accent); color: #fff;
  border: 3px solid #fff; box-shadow: var(--shadow-md);
  font-family: var(--serif); font-size: 1rem;
}
.mk--act {
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--gold); border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.3);
}
.mk--bear { width: 30px; height: 30px; font-size: 1.3rem; filter: drop-shadow(0 2px 3px rgba(0,0,0,.4)); }
.mk--air {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--forest); color: #fff; font-size: .9rem;
  border: 2px solid #fff; box-shadow: var(--shadow-sm);
}

/* Légende */
.map-legend { display: flex; flex-wrap: wrap; gap: 1.2rem; justify-content: center; margin-top: 1.2rem; font-size: .85rem; color: var(--ink-soft); }
.map-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.dot { width: 14px; height: 14px; border-radius: 50%; display: inline-block; }
.dot--base { background: var(--accent); }
.dot--act { background: var(--gold); }
.dot--air { background: var(--forest); }
