/**
 * Map block. Loaded only on pages that use dlz/map.
 */

.dlz-map-block { margin: 0; }

/* A local stacking context, so Leaflet's high internal z-indexes cannot ride
   above the sticky header. */
.dlz-map {
  position: relative; z-index: 0;
  width: 100%; min-height: 240px;
  border-radius: var(--dlz-r-card); overflow: hidden;
  background: var(--dlz-mist);
}

/* Keep tiles and popup images square; .dlz-prose img would otherwise round them. */
.dlz-map-block .leaflet-container img { border-radius: 0; max-width: none; }

.dlz-pin svg { display: block; filter: drop-shadow(0 2px 3px rgba(6,26,44,.35)); }

.dlz-map-fallback { padding: 16px; font-size: 14px; }
.dlz-map-fallback a { color: var(--dlz-sea); }

/* Popup card. The image bleeds to the edges; the text sits in a padded body.
   Every rule is scoped under .dlz-pop-wrap so it outranks the .dlz-prose h3/p/img
   rules that would otherwise leak in (the popup is a descendant of the article)
   and reintroduce large heading margins and font sizes. */
.dlz-pop-wrap .leaflet-popup-content-wrapper { padding: 0; border-radius: 11px; overflow: hidden; box-shadow: 0 12px 34px rgba(6,26,44,.28); }
.dlz-pop-wrap .leaflet-popup-content { margin: 0; }
.dlz-pop-wrap .dlz-pop-img { display: block; width: 100%; height: 88px; object-fit: cover; border-radius: 0; margin: 0; }
.dlz-pop-wrap .dlz-pop-body { padding: 9px 12px 10px; }
.dlz-pop-wrap .dlz-pop-t { margin: 0 0 2px; font-size: 14px; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; color: var(--dlz-ink); }
.dlz-pop-wrap .dlz-pop-d { margin: 0 0 6px; font-size: 12px; line-height: 1.4; color: var(--dlz-ink-soft); }
.dlz-pop-wrap .dlz-pop-meta { margin: 1px 0 0; font-size: 11.5px; line-height: 1.35; }
.dlz-pop-wrap .dlz-pop-meta a { color: var(--dlz-sea); text-decoration: none; }
.dlz-pop-wrap .dlz-pop-meta a:hover { text-decoration: underline; }
.dlz-pop-wrap .dlz-pop-w3w a { color: #e11f26; font-weight: 600; } /* what3words brand red */
