/* Map styles, loaded on /annuaire/ only (after leaflet.css). Gold pins and
   clusters in the marabout-3 identity; no images, no inline styles. */
.map {
  height: clamp(22rem, 62vh, 40rem);
  border-radius: 17px;
  background: #f3ead8;
  z-index: 0;
}
.map-nojs {
  padding: 2rem;
  color: #5e5548;
}
.leaflet-container {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}
.leaflet-container a {
  color: #8a6421;
}
.map-pin {
  background: transparent;
  border: 0;
}
.map-pin span {
  position: relative;
  display: block;
  width: 26px;
  height: 26px;
  margin: 2px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  background: linear-gradient(135deg, #d7b56d, #b58c3c);
  border: 2px solid #ffffff;
  box-shadow: 0 2px 6px rgb(31 27 22 / 0.35);
}
.map-pin span::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: #1f1b16;
}
.map-pin:focus-visible,
.map-cluster:focus-visible {
  outline: 3px solid #1f1b16;
  outline-offset: 2px;
  border-radius: 50%;
}
.map-cluster {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgb(215 181 109 / 0.35);
}
.map-cluster > div {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 5px;
  border-radius: 50%;
  background: #1f1b16;
  color: #f4efe6;
  border: 2px solid #d7b56d;
  font-weight: 700;
  font-size: 0.8rem;
}
.leaflet-popup-content-wrapper {
  border-radius: 18px;
  border: 1px solid rgb(215 181 109 / 0.7);
  box-shadow: 0 18px 40px -20px rgb(31 27 22 / 0.45);
}
.leaflet-popup-content {
  margin: 14px 16px;
  line-height: 1.45;
}
.map-popup {
  display: grid;
  gap: 0.6rem;
}
.map-popup-head {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.map-popup-plate {
  width: 4.25rem;
  padding: 3px;
  border-radius: 14px;
}
.map-popup-plate img,
.map-popup-plate .initials {
  border-radius: 11px;
  font-size: 1.1rem;
}
.map-popup-name {
  margin: 0 !important;
  font-family: "Lora", Georgia, serif;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.15;
}
.map-popup-name a {
  color: #1f1b16 !important;
  text-decoration: none;
}
.map-popup-name a:hover {
  text-decoration: underline;
}
.map-popup .meta-line {
  margin: 0.15rem 0 0 !important;
}
.map-popup .btn-primary {
  color: #1a1206 !important;
}
.map-popup .btn-ghost {
  color: #8a6421 !important;
}
.leaflet-container a.leaflet-popup-close-button {
  color: #5e5548;
  width: 28px;
  height: 28px;
  font-size: 20px;
}
