.explorer-site-location { margin: 18px 0 26px; min-width: 0; --site-border: #b1b1b1; --site-muted: #646464; --site-surface: #f5f5f5; }
.explorer-site-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.explorer-site-search-row .explorer-field { margin: 0; }
.explorer-site-location button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--site-border); border-radius: 8px; background: transparent; color: inherit; font: 500 13px/1.4 var(--font-body); cursor: pointer; }
.explorer-site-location button:disabled { opacity: .5; cursor: default; }
.explorer-site-location button:focus-visible, .explorer-site-location a:focus-visible, .explorer-site-map:focus-visible { outline: 2px solid #0069e8; outline-offset: 3px; }
.explorer-site-location #explorer-map-search { background: #0069e8; color: #fff; border-color: #0069e8; white-space: nowrap; }
.explorer-site-location .explorer-site-help { margin: 10px 0 14px; font-size: 13px; line-height: 1.55; color: var(--site-muted); }
.explorer-site-map { height: 300px; width: 100%; isolation: isolate; z-index: 0; border: 1px solid var(--site-border); border-radius: 10px; background: #e8e8e8; font-family: var(--font-body); touch-action: pan-y; }
.explorer-site-map .leaflet-tile-pane { filter: grayscale(1); }
.explorer-site-map.is-editing { cursor: crosshair; }
.explorer-site-map .leaflet-control-attribution { font-size: 11px; background: rgba(255,255,255,.94); color: #303030; }
.explorer-site-map .leaflet-control-attribution a { color: #064eaa; }
.explorer-site-map .leaflet-bar a { width: 42px; height: 42px; line-height: 42px; color: #202020; background: #fff; }
.explorer-site-pin { border: 0; background: transparent; }
.explorer-site-pin span { display: block; width: 24px; height: 24px; border: 3px solid #fff; border-radius: 50%; background: #0069e8; box-shadow: 0 0 0 2px #0069e8, 0 2px 6px #0004; }
.explorer-site-map-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 14px; }
.explorer-site-location .explorer-map-status { min-height: 1.5em; margin: 10px 0; color: var(--site-muted); font-size: 13px; line-height: 1.5; }
.explorer-site-location .explorer-field input { font-size: 16px; }
.explorer-coordinate-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.explorer-coordinate-row .explorer-field { margin: 0; }
.explorer-coordinate-row input { font-variant-numeric: tabular-nums; }
.explorer-site-location .explorer-site-results { margin: 10px 0; padding: 0; list-style: none; border: 1px solid var(--site-border); border-radius: 8px; overflow: hidden; }
.explorer-site-results li + li { border-top: 1px solid var(--site-border); }
.explorer-site-location .explorer-site-results button { display: block; width: 100%; border: 0; border-radius: 0; text-align: left; overflow-wrap: anywhere; }
.explorer-site-location .explorer-site-reference { display: inline-block; margin-top: 12px; color: #0062cf; font-size: 13px; text-underline-offset: 3px; }
.explorer-site-location #explorer-coordinate-error { margin: 8px 0; color: #a12525; font-size: 13px; line-height: 1.5; }
.explorer-site-location [hidden] { display: none !important; }
[data-theme="dark"] .explorer-site-location { --site-border: #737373; --site-muted: #bcbcbc; --site-surface: #171717; }
[data-theme="dark"] .explorer-site-location .explorer-site-reference { color: #81baff; }
[data-theme="dark"] .explorer-site-location #explorer-coordinate-error { color: #ffadad; }
@media (hover:hover) { .explorer-site-location button:not(:disabled):hover { background: #0069e810; } .explorer-site-location #explorer-map-search:not(:disabled):hover { background: #0056bf; } }
@media (max-width:760px) { .explorer-site-search-row { grid-template-columns: minmax(0,1fr); gap: 10px; } .explorer-site-location #explorer-map-search { justify-self: start; } .explorer-site-map { height: 260px; } .explorer-coordinate-row { grid-template-columns: minmax(0,1fr); gap: 8px; } .explorer-coordinate-row button { justify-self: start; } }
