/* Yarta site map · restyles Leaflet to the brand. Everything is scoped under .ym-root.
   Palette: ink #0B0B0B · warm dark #1E1712 · charcoal #2A2A2A · graphite #4B4F52 · slate #7C8184 ·
   mist #D6D8D3 · paper #F4F4F2 · page #F3EFE9 · white · orange #CF7A2E / #E9A860 / #B8641F / #FBF0E3 */

.ym-root{
  --ym-bg:#F3EFE9; --ym-panel:#FFFFFF; --ym-panel-2:#F4F4F2; --ym-line:#D6D8D3; --ym-line-2:#BFC1BC;
  --ym-text:#0B0B0B; --ym-text-2:#4B4F52; --ym-muted:#7C8184; --ym-acc:#B8641F; --ym-acc-soft:#FBF0E3;
  --ym-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --ym-body:"Inter","Helvetica Neue",Arial,sans-serif;
  --ym-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  position:relative;width:100%;height:100%;min-height:240px;overflow:hidden;border-radius:inherit;
  background:var(--ym-bg);color:var(--ym-text);font-family:var(--ym-body);isolation:isolate
}
.ym-root.ym-dark{
  --ym-bg:#1E1712; --ym-panel:#1E1712; --ym-panel-2:#2A2A2A; --ym-line:#4B4F52; --ym-line-2:#7C8184;
  --ym-text:#F4F4F2; --ym-text-2:#D6D8D3; --ym-muted:#7C8184; --ym-acc:#E9A860; --ym-acc-soft:rgba(207,122,46,.14)
}
.ym-root *,.ym-root *::before,.ym-root *::after{box-sizing:border-box}
.ym-map{position:absolute;inset:0;border-radius:inherit}

/* base container and tiles */
.ym-root .leaflet-container{background:var(--ym-bg);font:13px/1.4 var(--ym-body);color:var(--ym-text);outline:0}
.ym-root .leaflet-container:focus-visible{box-shadow:inset 0 0 0 2px #CF7A2E}
.ym-root .leaflet-container img.leaflet-tile{mix-blend-mode:normal}
/* pull CARTO's cool neutrals toward the warm brand ground */
.ym-paper .ym-tiles{filter:sepia(.14) saturate(.9) brightness(.985)}
.ym-dark .ym-tiles{filter:sepia(.32) saturate(.85) brightness(.82) contrast(1.02)}
.ym-root .leaflet-overlay-pane svg{max-width:none!important}
.ym-root .leaflet-interactive{cursor:pointer;transition:fill-opacity .14s,stroke-opacity .14s,stroke-width .14s}
.ym-root path.leaflet-interactive:focus{outline:0}
.ym-root path.leaflet-interactive:focus-visible{stroke:#CF7A2E;stroke-width:3px;stroke-opacity:1}

/* controls: shared */
.ym-root .leaflet-control{margin:0;clear:none}
.ym-root .leaflet-top.leaflet-left{top:14px;left:14px;right:72px}
.ym-root .leaflet-top.leaflet-right{top:14px;right:14px}
.ym-root .leaflet-bottom.leaflet-left{bottom:14px;left:14px;display:flex;align-items:flex-end;gap:10px}
.ym-root .leaflet-bottom.leaflet-right{bottom:0;right:0}
.ym-root .leaflet-bottom.leaflet-left .leaflet-control{float:none}

/* metric pills */
.ym-pills{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%;padding:1px;-webkit-overflow-scrolling:touch}
.ym-pills::-webkit-scrollbar{display:none}
.ym-pill{flex:0 0 auto;appearance:none;margin:0;cursor:pointer;white-space:nowrap;
  font:500 11.5px/1 var(--ym-mono);letter-spacing:.08em;text-transform:uppercase;
  padding:8px 12px;border-radius:999px;border:1px solid var(--ym-line);background:var(--ym-panel);color:var(--ym-text-2);
  box-shadow:0 1px 2px rgba(0,0,0,.08);transition:border-color .15s,color .15s,background .15s}
.ym-pill:hover{border-color:var(--ym-line-2);color:var(--ym-text)}
.ym-pill.is-on{border-color:#CF7A2E;color:var(--ym-text);background:var(--ym-acc-soft)}
.ym-paper .ym-pill.is-on{background:#FBF0E3;color:#0B0B0B}
.ym-pill:focus-visible,.ym-fit:focus-visible,.ym-root .leaflet-control-zoom a:focus-visible{outline:2px solid #CF7A2E;outline-offset:2px}

/* fit all (ghost) */
.ym-fit{appearance:none;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  font:500 11px/1 var(--ym-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  padding:8px 11px;border-radius:6px;border:1px solid var(--ym-line);background:var(--ym-panel);color:var(--ym-text-2);
  box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ym-fit:hover{border-color:var(--ym-line-2);color:var(--ym-text)}
.ym-fit svg{display:block;flex:none}

/* zoom: square, hairline, no shadow */
.ym-root .leaflet-bar,.ym-root .leaflet-touch .leaflet-bar{border:0;box-shadow:none;border-radius:0;background:none}
.ym-root .leaflet-control-zoom{display:flex;flex-direction:column;border:1px solid var(--ym-line)!important;border-radius:6px!important;overflow:hidden;background:var(--ym-panel);box-shadow:0 1px 2px rgba(0,0,0,.08)!important}
.ym-root .leaflet-control-zoom a,.ym-root .leaflet-touch .leaflet-control-zoom a{
  width:32px;height:32px;line-height:30px;border:0;border-radius:0!important;background:var(--ym-panel);color:var(--ym-text-2);
  font:400 18px/31px var(--ym-mono);text-indent:0;text-decoration:none}
.ym-root .leaflet-control-zoom a+a{border-top:1px solid var(--ym-line)}
.ym-root .leaflet-control-zoom a:hover{background:var(--ym-panel-2);color:var(--ym-text)}
.ym-root .leaflet-control-zoom a.leaflet-disabled{color:var(--ym-line-2);background:var(--ym-panel);cursor:default}

/* scale bar */
.ym-root .leaflet-control-scale{margin:0}
.ym-root .leaflet-control-scale-line{border:1px solid var(--ym-muted);border-top:0;background:transparent;color:var(--ym-text-2);
  font:500 10px/1.2 var(--ym-mono);letter-spacing:.06em;padding:0 5px 1px;text-shadow:none;white-space:nowrap}
.ym-paper .leaflet-control-scale-line{background:rgba(243,239,233,.7)}
.ym-dark .leaflet-control-scale-line{background:rgba(30,23,18,.6)}

/* attribution: small, mono, muted */
.ym-root .leaflet-control-attribution{background:rgba(243,239,233,.82);color:#7C8184;font:400 10px/1.3 var(--ym-mono);letter-spacing:.02em;
  padding:3px 8px;border-top-left-radius:6px;margin:0}
.ym-dark .leaflet-control-attribution{background:rgba(30,23,18,.78);color:#7C8184}
.ym-root .leaflet-control-attribution a{color:inherit;text-decoration:none}
.ym-root .leaflet-control-attribution a:hover{color:var(--ym-text);text-decoration:underline}

/* permanent labels on the three largest sites */
.ym-root .ym-lbl{background:none;border:0;pointer-events:none}
.ym-root .ym-lbl span{position:absolute;left:0;top:0;white-space:nowrap;
  font:500 11px/1 var(--ym-mono);letter-spacing:.04em;color:var(--ym-text);
  padding:3px 5px;border-radius:4px;background:rgba(243,239,233,.86)}
.ym-dark .ym-lbl span{background:rgba(30,23,18,.8);color:#F4F4F2}
.ym-has-sel .ym-lbl span{opacity:.55}

/* tooltip: small rounded card */
.ym-root .leaflet-tooltip.ym-tip{padding:9px 11px 9px;min-width:168px;max-width:240px;white-space:normal;
  border-radius:8px;border:1px solid var(--ym-line);background:var(--ym-panel);color:var(--ym-text);
  box-shadow:0 1px 2px rgba(0,0,0,.18);font:13px/1.35 var(--ym-body)}
.ym-root .leaflet-tooltip.ym-tip::before{display:none}
.ym-tip-k{font:500 10.5px/1.2 var(--ym-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ym-muted)}
.ym-tip-n{font-weight:600;font-size:13.5px;margin-top:3px;color:var(--ym-text)}
.ym-tip-v{margin-top:7px;font-family:var(--ym-mono);font-size:12px;color:var(--ym-text-2);font-variant-numeric:tabular-nums}
.ym-tip-v b{font-size:15px;font-weight:500;color:var(--ym-text)}
.ym-tip-s{margin-top:2px;font-size:12.5px;color:var(--ym-acc)}
.ym-tip-s.ym-tip-na{color:var(--ym-muted)}
.ym-tip-sc{margin-top:7px;padding-top:6px;border-top:1px solid var(--ym-line);font:500 11px/1.2 var(--ym-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ym-muted)}
.ym-tip-sc b{color:var(--ym-text);font-weight:500;font-size:12px}

/* empty / failed state */
.ym-empty{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;
  background:#D6D8D3;color:#2A2A2A;border-radius:inherit}
.ym-dark .ym-empty{background:#2A2A2A;color:#D6D8D3}
.ym-empty[hidden]{display:none}
.ym-empty>div{max-width:34ch}
.ym-eyebrow{margin:0 0 8px;font:500 11px/1 var(--ym-mono);letter-spacing:.08em;text-transform:uppercase;color:#4B4F52}
.ym-dark .ym-eyebrow{color:#7C8184}
.ym-empty-t{margin:0;font:800 20px/1.15 var(--ym-display);letter-spacing:-.015em;color:#0B0B0B}
.ym-dark .ym-empty-t{color:#F4F4F2}
.ym-empty-s{margin:8px 0 0;font-size:13.5px;line-height:1.45;color:#4B4F52}
.ym-dark .ym-empty-s{color:#D6D8D3}
.ym-is-empty .leaflet-control-container{display:none}

/* compact: no pills, no labels, no scale */
.ym-compact .leaflet-top.leaflet-left{display:none}
.ym-compact .leaflet-top.leaflet-right{top:10px;right:10px}
.ym-compact .leaflet-bottom.leaflet-left{bottom:10px;left:10px}
.ym-compact .leaflet-control-zoom a{width:28px;height:28px;line-height:27px;font-size:16px}

/* phones and narrow containers */
.ym-narrow .leaflet-top.leaflet-left{top:10px;left:10px;right:56px}
.ym-narrow .leaflet-top.leaflet-right{top:10px;right:10px}
.ym-narrow .leaflet-bottom.leaflet-left{bottom:10px;left:10px;gap:6px;flex-direction:column-reverse;align-items:flex-start}
.ym-narrow .ym-pills{gap:5px;flex-wrap:wrap;overflow:visible;max-width:calc(100% - 64px)}
.ym-narrow .ym-pill{font-size:10px;padding:7px 8px;letter-spacing:.04em}
.ym-narrow .ym-fit{font-size:10.5px;padding:7px 9px}
.ym-narrow .leaflet-control-zoom a{width:30px;height:30px;line-height:29px}
.ym-narrow .leaflet-control-attribution{font-size:9px;padding:2px 6px;white-space:nowrap}
.ym-narrow .ym-lbl span{font-size:10.5px}

@media (prefers-reduced-motion:reduce){.ym-root .leaflet-interactive{transition:none}}
@media print{.ym-root .leaflet-control-zoom,.ym-root .ym-fit,.ym-pills{display:none}}
