/* ═══════════════════════════════════════
   ESRI OVERRIDES — ArcGIS widget styling
   ═══════════════════════════════════════ */

.esri-ui-corner * { font-family: 'Inter',-apple-system,sans-serif !important; }
.esri-popup__main-container { max-height: 400px !important; overflow-y: auto !important; }
.esri-popup__content { max-height: 350px !important; overflow-y: auto !important; }
.esri-popup__main-container::-webkit-scrollbar,.esri-popup__content::-webkit-scrollbar { width: 3px !important; }
.esri-popup__main-container::-webkit-scrollbar-track,.esri-popup__content::-webkit-scrollbar-track { background: transparent !important; }
.esri-popup__main-container::-webkit-scrollbar-thumb,.esri-popup__content::-webkit-scrollbar-thumb { background: rgba(56,189,248,0.4) !important; border-radius: 3px !important; }
.esri-ui-bottom-right { bottom: 120px !important; right: 10px !important; }
.esri-ui-bottom-left { bottom: 120px !important; }
.esri-ui-corner { z-index: 100 !important; }
.esri-zoom,.esri-compass,.esri-home,.esri-widget { z-index: 100 !important; }
.esri-popup { z-index: 10 !important; max-height: 450px !important; }

.esri-search { width: 100% !important; }
.esri-search__input { background: rgba(255,255,255,0.04) !important; border: 1px solid var(--border-accent) !important; color: var(--text-primary) !important; font-size: 15px !important; padding: 12px 14px !important; border-radius: var(--radius-md) !important; }
.esri-search__input::placeholder { color: var(--text-muted) !important; }
.esri-search__input:focus { border-color: var(--accent-sky) !important; box-shadow: 0 0 0 3px rgba(56,189,248,0.14) !important; outline: none !important; }
.esri-menu__list-item { background: rgba(255,255,255,0.03) !important; border-bottom: 1px solid var(--border-ghost) !important; }
.esri-menu__list-item:hover { background: rgba(56,189,248,0.08) !important; }

/* ─── SVG ICONS ─── */
.svg-icon { width: 20px; height: 20px; fill: white !important; display: block; overflow: visible; }
.svg-icon path { stroke: rgba(0,0,0,0.7); stroke-width: 1.5px; stroke-linejoin: round; vector-effect: non-scaling-stroke; paint-order: stroke fill; }
.svg-icon-line { width: 20px; height: 20px; display: block; overflow: visible; }
.svg-icon-line path, .svg-icon-line circle, .svg-icon-line line, .svg-icon-line polyline, .svg-icon-line rect, .svg-icon-line polygon { fill: none !important; stroke: white !important; stroke-width: 2px !important; filter: drop-shadow(0.8px 0.8px 0 rgba(0,0,0,0.8)) drop-shadow(-0.8px -0.8px 0 rgba(0,0,0,0.8)) drop-shadow(0.8px -0.8px 0 rgba(0,0,0,0.8)) drop-shadow(-0.8px 0.8px 0 rgba(0,0,0,0.8)); }
.group-icon-box { display: flex; align-items: center; justify-content: center; font-size: 0; }
.basemap-icon { display: flex; align-items: center; justify-content: center; font-size: 0; }
