/* Map-attached information preserves the geographic context of the selected place. */
.modern-map { position: relative; isolation: isolate; }
.map-event-drawer {
  position: absolute;
  z-index: 700;
  inset: 12px auto auto 12px;
  max-height: calc(100% - 36px);
  width: min(300px, 38%);
  box-sizing: border-box;
  padding: 0.8rem;
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--ink, #192c33);
  background: rgb(255 253 247 / 97%);
  border: 1px solid var(--line, #bdc9cc);
  border-radius: 0.7rem;
  box-shadow: 0 3px 16px rgb(20 42 52 / 16%);
  font: 0.82rem/1.4 system-ui, sans-serif;
  animation: map-drawer-enter 160ms ease-out;
}
.map-event-drawer[hidden], .map-drawer-leader[hidden] { display: none; }
.map-event-drawer .leaflet-event-popup,
.map-event-drawer .place-timeline { min-width: 0; }
.map-event-drawer button {
  min-height: 2.75rem;
  max-width: 100%;
  cursor: pointer;
  font: inherit;
  border: 1px solid var(--line, #bdc9cc);
  border-radius: 0.35rem;
}
.map-event-drawer button:focus-visible,
.map-event-drawer input:focus-visible,
.map-event-drawer:focus-visible {
  outline: 3px solid var(--gold, #c08f31);
  outline-offset: 2px;
}
.map-event-drawer__close,
.map-event-drawer .selected-map-event-popup__close {
  justify-self: start;
  margin: 0 0 0.4rem;
  padding: 0.3rem 0.55rem;
  color: var(--blue, #165b77);
  background: var(--paper, #fffdf7);
}
.map-event-drawer .selected-map-event-popup__heading {
  margin: 0;
  font: 750 1.02rem/1.3 system-ui, sans-serif;
  overflow-wrap: anywhere;
}
.map-event-drawer .selected-map-event-popup__date { font-weight: 750; color: var(--burgundy, #763e41); }
.map-event-drawer .selected-map-event-popup__reference { font-size: 0.78rem; }
.map-event-drawer .selected-map-event-popup__summary { margin: 0.3rem 0; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.map-event-drawer .leaflet-event-popup__modern { font-size: 0.72rem; color: var(--muted, #53636b); }
.map-event-drawer .place-timeline__list { padding-left: 1.2rem; }
.map-event-drawer .place-timeline__event { padding: 0.15rem 0 0.15rem 0.25rem; border: 0; }
.map-event-drawer .place-timeline__event::marker { color: var(--muted, #53636b); font-size: 0.7rem; font-weight: 750; }
.map-event-drawer .place-timeline__event-button {
  display: grid;
  grid-template-columns: minmax(3.5rem, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: 0.2rem 0.45rem;
  padding: 0.35rem;
  border-color: transparent;
}
.map-event-drawer .place-timeline__date { max-width: 5.5rem; font-size: 0.7rem; line-height: 1.35; }
.map-event-drawer .place-timeline__title { margin: 0; font-size: 0.78rem; font-weight: 650; line-height: 1.35; }
.map-event-drawer .place-timeline__reference { grid-column: 2; margin: 0; font-size: 0.67rem; }
.map-event-drawer .place-timeline__scope-controls { flex-wrap: wrap; }
.map-event-drawer .place-timeline__scope-controls button { padding: 0.25rem 0.4rem; }
.map-drawer-leader {
  position: absolute;
  z-index: 650;
  height: 0;
  border-top: 2px dashed #165b77;
  transform-origin: 0 0;
  pointer-events: none;
  opacity: 0.7;
}
.map-drawer-leader::after {
  position: absolute;
  right: -2px;
  top: -4px;
  width: 6px;
  height: 6px;
  content: "";
  border-top: 2px solid #165b77;
  border-right: 2px solid #165b77;
  transform: rotate(45deg);
}
.modern-map[data-map-layout="sheet"] .map-event-drawer {
  inset: auto 10px 24px;
  width: auto;
  max-height: min(190px, 46%);
  padding: 0.55rem 0.7rem;
  border-radius: 0.7rem 0.7rem 0.35rem 0.35rem;
}
.modern-map[data-map-layout="sheet"] .map-drawer-leader { display: none; }
.modern-map[data-map-layout="sheet"] .map-event-drawer .selected-map-event-popup__summary { display: none; }
.modern-map[data-map-layout="sheet"] .map-event-drawer .place-timeline__event-button { grid-template-columns: 5.5rem minmax(0, 1fr); }
@keyframes map-drawer-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .map-event-drawer { animation: none; } }
