/* Bottom controls share measured footer clearance, not a fixed 75px gap. */
.leaflet-bottom.leaflet-left.nemap-bottom-layout { bottom: var(--nemap-bottom-clearance, 0px); }
.leaflet-bottom.leaflet-left .traffic-road-legend { margin-bottom: 8px !important; }
.cw-grid-shell > .cw-section { flex: 0 0 auto; margin-bottom: 0; padding: 6px 8px 0; }
.cw-grid-body > div { padding-top: 4px !important; }
.layer-catalog__preview.is-static-fallback { height: 96px; min-height: 96px; }
.layer-catalog__preview-placeholder { display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 32px 14px 10px; font: 12px/1.35 system-ui, sans-serif; }
.layer-catalog__preview-placeholder small { font-size: 11px; opacity: .85; }
.layer-catalog__preview.is-unavailable::after { content: 'Прев’ю недоступне · шар можна обрати'; position: absolute; inset: 32px 12px 8px; display: grid; place-items: center; font: 12px/1.35 system-ui, sans-serif; }
.ne-source-panel { max-height: var(--nemap-source-panel-height, min(65vh, 560px)); }
@media (max-width: 600px) {
  .leaflet-bottom.leaflet-left .traffic-road-legend { margin-left: 10px !important; max-width: min(235px, calc(100vw - 90px)); }
  .ne-source-control { max-width: calc(100vw - 90px); }
  .ne-source-toggle { font-size: 12px; padding: 6px 8px; }
  .ne-source-panel { left: 0; width: min(320px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: var(--nemap-source-panel-height, 57vh); }
}

.nemap-source-open .traffic-road-legend { visibility: hidden; pointer-events: none; }
[data-theme=dark] .ne-source-panel { background: #18212b; }

@media(max-width:600px){.leaflet-control-attribution{box-sizing:border-box;max-width:calc(100vw - 4px);white-space:normal}}
