.map-frame {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-empty {
  z-index: 3;
}

.map-selection{flex-wrap:wrap}
.map-selection>div:first-child{min-width:0;overflow-wrap:anywhere}
.map-selection b{font-size:1.125rem;line-height:1.3}
.map-selection small,.map-selection span{font-size:.75rem;line-height:1.4}
.map-actions{margin:12px 18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:8px}
.map-actions button,.map-actions a{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 8px;font-size:clamp(.75rem,3.25vw,.875rem);line-height:1.3;white-space:nowrap;border-radius:12px}
.map-actions button{border:1px solid var(--green);background:var(--green);color:#fff;font-weight:700}
.map-actions a{background:var(--paper)}
.map-actions button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.map-external-link{display:inline-block;color:var(--green);font-size:.875rem;line-height:1.5;padding:10px 12px;border:1px solid var(--line);border-radius:12px;text-decoration:none}
.map-external-link:hover{background:#eef4f0}
.map-external-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.map-route-link{display:inline-block;background:var(--green);color:#fff;padding:12px 16px;border-radius:12px;font-size:1rem;font-weight:700;text-decoration:none;text-align:center}
.map-route-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.map-actions button:disabled{opacity:.6;cursor:wait}
.route-status{margin:12px 18px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:#59655f;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
@media(min-width:1100px){.route-status,.map-actions{margin:12px 0}}

.grave-distance{margin:12px 18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.grave-distance strong{display:block;font-size:1.25rem;line-height:1.4;color:var(--green)}
.grave-distance small{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.grave-distance p{margin:10px 0 0;font-size:14px;line-height:1.5;color:#59655f}
.grave-distance.distance-uncertain{border-color:var(--gold)}
@media(min-width:1100px){.grave-distance{margin:12px 0}}
