/* RyzMap — shared styles for the single map component (R6-M M-1).
   Dark-tile Leaflet map skinned to the RYZ design system. Pages load
   Leaflet's own leaflet.css BEFORE this file. */

.ryz-map{position:relative;width:100%;height:380px;border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);background:#101113}
.ryz-map .ryz-map-canvas{position:absolute;inset:0}
.ryz-map .leaflet-container{width:100%;height:100%;background:#101113;
  font-family:inherit;font-size:12px}

/* Static fallback block (no-JS, Leaflet missing, or tile failure) — visible
   by default, hidden once tiles actually load (.ok), re-shown on .failed.
   The map must never present as a gray dead rectangle. */
.ryz-map .ryz-map-fallback{position:absolute;inset:0;z-index:500;display:flex;
  flex-direction:column;justify-content:center;gap:6px;padding:18px 20px;
  background:#101113;overflow-y:auto}
.ryz-map.ok .ryz-map-fallback{display:none}
.ryz-map.failed .ryz-map-fallback{display:flex}
.ryz-map.failed .ryz-map-canvas{visibility:hidden}
.ryz-map-fallback .fb-title{font-family:var(--mono);font-size:9px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--fog)}
.ryz-map-fallback .fb-row{display:flex;justify-content:space-between;gap:10px;
  font-size:12px;color:var(--chalk);border-bottom:1px solid rgba(255,255,255,.05);
  padding:4px 0}
.ryz-map-fallback .fb-row .n{font-family:var(--mono);color:var(--fog)}

/* City cluster chips (divIcon) — same look as the C6 .map-chip buttons */
.ryz-chip-wrap{background:none;border:none}
.ryz-chip{display:inline-block;transform:translate(-50%,-50%);white-space:nowrap;
  font-family:var(--mono);font-size:10px;font-weight:600;color:var(--chalk);
  background:rgba(16,17,19,.88);border:1px solid rgba(255,255,255,.18);
  border-radius:20px;padding:3px 9px;cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.45)}
.ryz-chip:hover{border-color:var(--lime)}
.ryz-chip.on{border-color:var(--lime);color:var(--lime)}
.ryz-chip .mnt{color:var(--gold)}

/* Event markers (M-3 — "Rastreamento por Eventos") */
.ryz-ev-wrap{background:none;border:none}
.ryz-ev{display:block;width:10px;height:10px;border-radius:50%;
  border:2px solid #101113;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.ryz-ev.k-position{background:var(--ice,#7fd4f0)}
.ryz-ev.k-depart{background:var(--lime,#b8f040)}
.ryz-ev.k-delivered{background:var(--lime,#b8f040)}
.ryz-ev.k-loaded{background:var(--chalk,#e4e2d9)}
.ryz-ev.k-problem{background:var(--rose,#f07878)}
.ryz-ev.k-evidence{background:var(--gold,#e8b840)}
.ryz-ev.k-note{background:var(--fog,#8a8a84)}

/* Map legend row (pages place it under the map) */
.ryz-map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;
  font-family:var(--mono);font-size:9.5px;color:var(--fog);align-items:center}
.ryz-map-legend .ryz-ev{display:inline-block;width:8px;height:8px;margin-right:4px;
  vertical-align:-1px}

/* Dark theme for Leaflet chrome */
.ryz-map .leaflet-control-attribution{background:rgba(16,17,19,.8);color:var(--fog);
  font-size:9px}
.ryz-map .leaflet-control-attribution a{color:var(--fog);text-decoration:underline}
.ryz-map .leaflet-control-zoom a{background:rgba(16,17,19,.9);color:var(--chalk);
  border-color:rgba(255,255,255,.12)}
.ryz-map .leaflet-control-zoom a:hover{background:rgba(255,255,255,.08)}
.ryz-map .leaflet-popup-content-wrapper,.ryz-map .leaflet-popup-tip{
  background:#191a1c;color:var(--chalk);box-shadow:0 4px 18px rgba(0,0,0,.5)}
.ryz-map .leaflet-popup-content{margin:9px 12px;font-size:12px;line-height:1.5}
.ryz-pop .t{color:var(--fog);font-family:var(--mono);font-size:10px}
