/* Map pins (Leaflet divIcons) shared by the itinerary and the big map */
.pin { background: none; border: 0; }
.pin span {
  display: grid; place-items: center; position: relative;
  transform: translate(-50%, -50%);
  border-radius: 50%; background: var(--c); color: #fff;
  box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(0,0,0,.35);
  font: 600 11px/1 "Inter", -apple-system, sans-serif;
}
.pin-base span { width: 22px; height: 22px; }
.pin-sight span { width: 12px; height: 12px; }
.pin-alt span { width: 12px; height: 12px; background: #fff; box-shadow: 0 0 0 2.5px var(--c), 0 1px 4px rgba(0,0,0,.3); }
.pin-airport span { width: 18px; height: 18px; border-radius: 4px; background: #24302a; }
.pin-airport span::after { content: "✈"; font-size: 11px; }
.pin-spa span { width: 22px; height: 22px; background: #b07ab8; }
.pin-spa span::after { content: "♨"; font-size: 13px; }
.pin-hotel span { width: 16px; height: 16px; border-radius: 4px; background: #fff; color: var(--c); box-shadow: 0 0 0 2px var(--c), 0 1px 4px rgba(0,0,0,.3); }
.pin-hotel span::after { content: "⌂"; font-size: 12px; font-weight: 700; }

.leaflet-popup-content { font: 14px/1.45 "Inter", -apple-system, sans-serif; margin: 10px 14px; }
.leaflet-popup-content b { font-weight: 600; }
.leaflet-container { font-family: "Inter", -apple-system, sans-serif; background: #e9e4d8; }
.trip-tiles { filter: saturate(.85) sepia(.12); }
@media (prefers-color-scheme: dark) {
  .leaflet-container { background: #1c2420; }
  .trip-tiles { filter: invert(1) hue-rotate(180deg) brightness(.92) contrast(.85) saturate(.6); }
}
