/* G-S-M Steampunk theme for GeoFinder */
:root{--gf-ink:#f6ead0;--gf-muted:#c7af8b;--gf-gold:#d9a24c;--gf-copper:#85532d;--gf-green:#7de0ae;--gf-dark:#0d0b0b}
html,body{background:#0d0b0b;color:var(--gf-ink)}
body:before{content:"⚙";position:fixed;right:-7vw;bottom:-10vw;z-index:3000;pointer-events:none;color:#d9a24c18;font:32vw/1 Georgia,serif;animation:gf-spin 55s linear infinite}
#map{filter:brightness(.94) sepia(.12) saturate(1.12) contrast(1.02)}
#searchBar{filter:drop-shadow(0 8px 18px #000b)}
#modeRow,#searchWrapper,#searchResults{background:linear-gradient(145deg,#271a12f2,#120d0bf2);border-color:var(--gf-copper);color:var(--gf-ink)}
.modeBtn{color:var(--gf-muted);font-family:Georgia,"Times New Roman",serif}.modeBtn:hover{background:#3b251b;color:var(--gf-ink)}.modeBtn input[type=radio]{accent-color:var(--gf-gold)}
#searchInput{color:var(--gf-ink);font-family:Georgia,"Times New Roman",serif}.sr-item{border-bottom-color:#85532d;color:var(--gf-ink)}.sr-item:hover,.sr-item.akt{background:#3a2418}.sr-name{color:var(--gf-ink)}.sr-type{color:#21150d;background:#d9a24c}.sr-detail{color:var(--gf-muted)}.sr-source{color:#927858}
#contextMenu{background:linear-gradient(145deg,#271a12,#110c0a);border:1px solid var(--gf-copper);box-shadow:0 14px 42px #000c;color:var(--gf-ink)}.ctx-header,.ctx-poi-float-header{background:linear-gradient(135deg,#bd7d3c,#6e3c20 52%,#1b2c26);border-bottom-color:#d9a24c}.ctx-header-name,.ctx-adr-label,.ctx-adr-value,.ctx-status,.ctx-section,.ctx-addr-block{color:var(--gf-ink)}.ctx-accept{background:linear-gradient(#bd7d3c,#70401f);border-color:#d9a24c;color:#fff4d5}.ctx-accept:hover{background:#d9a24c;color:#1b1008}.ctx-separator,.ctx-divider-thick{background:#85532d}.ctx-mini-spinner{border-color:#85532d;border-top-color:var(--gf-green)}
.leaflet-control,.leaflet-control-layers,.leaflet-bar a{background:#1b1410!important;border-color:#85532d!important;color:var(--gf-gold)!important}.leaflet-control-attribution{background:#1b1410dd!important;color:#c7af8b!important}.leaflet-control-attribution a{color:#d9a24c!important}
#geoFooter{background:#110c0aee!important;color:#c7af8b!important;border-top:1px solid #85532d!important}
.gf-back{position:fixed;z-index:5000;top:86px;left:14px;right:auto;display:inline-flex;align-items:center;padding:10px 16px;border:1px solid #d9a24c;border-radius:999px;background:#17100df2;color:#f6ead0;text-decoration:none;font:700 14px Georgia,"Times New Roman",serif;box-shadow:0 6px 18px #0009;transition:.22s;pointer-events:auto;cursor:pointer}.gf-back:hover{background:#d9a24c;color:#1b1008;box-shadow:0 0 22px #d9a24c66}
@keyframes gf-spin{to{transform:rotate(360deg)}}

@media(max-width:650px){.gf-back{top:78px;left:10px;padding:9px 13px;font-size:13px}}

/* Final responsive geometry: every control receives its own collision-free zone. */
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200}
.leaflet-top.leaflet-left{top:14px;left:14px}
.leaflet-top.leaflet-right{top:14px;right:14px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0}
@media (min-width:1101px){
  #searchBar{top:14px;max-width:540px}
  .gf-back{top:86px;left:14px;right:auto}
}
@media (min-width:651px) and (max-width:1100px){
  #searchBar{top:82px;left:190px;right:190px;width:auto;max-width:none;transform:none}
  .gf-back{top:14px;left:14px;right:auto}
  .leaflet-top.leaflet-left{left:112px}
}
@media (max-width:650px){
  .leaflet-top.leaflet-left{top:10px;left:10px}
  .leaflet-top.leaflet-right{top:10px;right:10px;gap:5px}
  .gf-back{top:57px;left:10px;right:auto;padding:9px 13px;font-size:13px;z-index:5000}
  #searchBar{top:112px;left:10px;right:10px;width:auto;max-width:none;transform:none}
  #modeRow{justify-content:center;flex-wrap:wrap;gap:3px;padding:5px 7px}
  .modeBtn{font-size:12px;padding:3px 6px}
  #searchWrapper{min-height:42px}
  #searchInput{font-size:14px;padding:12px 13px}
  #searchResults{max-height:42vh}
}
@media (max-width:420px){
  .gf-back{top:55px;padding:8px 11px;font-size:12px}
  #searchBar{top:106px}
  .modeBtn{font-size:11px;padding:3px 4px;gap:3px}
  #modeRow{gap:1px;padding:4px}
}

/* Final responsive control layout: no control overlays another control. */
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200}
.leaflet-top.leaflet-left{top:14px;left:14px}
.leaflet-top.leaflet-right{top:14px;right:14px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0}

@media (min-width:1101px){
  #searchBar{top:14px;left:50%;right:auto;width:94%;max-width:540px;transform:translateX(-50%)}
  .gf-back{top:86px;left:14px;right:auto}
}

@media (min-width:651px) and (max-width:1100px){
  #searchBar{top:82px;left:190px;right:190px;width:auto;max-width:none;transform:none}
  .gf-back{top:14px;left:14px;right:auto}
  .leaflet-top.leaflet-left{top:14px;left:112px}
}

@media (max-width:650px){
  .leaflet-top.leaflet-left{top:10px;left:10px}
  .leaflet-top.leaflet-right{top:10px;right:10px;gap:5px}
  .gf-back{top:57px;left:10px;right:auto;padding:9px 13px;font-size:13px;z-index:5000}
  #searchBar{top:112px;left:10px;right:10px;width:auto;max-width:none;transform:none}
  #modeRow{justify-content:center;flex-wrap:wrap;gap:3px;padding:5px 7px}
  .modeBtn{font-size:12px;padding:3px 6px}
  #searchWrapper{min-height:42px}
  #searchInput{font-size:14px;padding:12px 13px}
  #searchResults{max-height:42vh}
}

@media (max-width:420px){
  .gf-back{top:55px;padding:8px 11px;font-size:12px}
  #searchBar{top:106px}
  .modeBtn{font-size:11px;padding:3px 4px;gap:3px}
  #modeRow{gap:1px;padding:4px}
}

/* Collision-safe final layout. The search zone is always separate from map controls. */
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200!important}
.leaflet-top.leaflet-left{top:14px!important;left:14px!important}
.leaflet-top.leaflet-right{top:14px!important;right:14px!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0!important}

@media (min-width:1101px){
  #searchBar{top:14px!important;left:50%!important;right:auto!important;width:94%!important;max-width:540px!important;transform:translateX(-50%)!important}
  .gf-back{top:86px!important;left:14px!important;right:auto!important}
}
@media (min-width:651px) and (max-width:1100px){
  #searchBar{top:82px!important;left:190px!important;right:190px!important;width:auto!important;max-width:none!important;transform:none!important}
  .gf-back{top:14px!important;left:14px!important;right:auto!important}
  .leaflet-top.leaflet-left{top:14px!important;left:112px!important}
}
@media (max-width:650px){
  .leaflet-top.leaflet-left{top:10px!important;left:10px!important}
  .leaflet-top.leaflet-right{top:10px!important;right:10px!important;gap:5px!important}
  .gf-back{top:57px!important;left:10px!important;right:auto!important;z-index:5000!important;padding:9px 13px!important;font-size:13px!important}
  #searchBar{top:112px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;transform:none!important}
  #modeRow{justify-content:center!important;flex-wrap:wrap!important;gap:3px!important;padding:5px 7px!important}
  .modeBtn{font-size:12px!important;padding:3px 6px!important}
  #searchWrapper{min-height:42px!important}
  #searchInput{font-size:14px!important;padding:12px 13px!important}
  #searchResults{max-height:42vh!important}
}
@media (max-width:420px){
  .gf-back{top:55px!important;padding:8px 11px!important;font-size:12px!important}
  #searchBar{top:106px!important}
  .modeBtn{font-size:11px!important;padding:3px 4px!important;gap:3px!important}
  #modeRow{gap:1px!important;padding:4px!important}
}

/* GeoFinder responsive control zones - final */
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200}
.leaflet-top.leaflet-left{top:14px;left:14px}
.leaflet-top.leaflet-right{top:14px;right:14px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0}

@media (min-width:1101px){
  #searchBar{top:14px;left:50%;right:auto;width:min(94vw,540px);transform:translateX(-50%)}
  .gf-back{top:86px;left:14px;right:auto}
}
@media (min-width:651px) and (max-width:1100px){
  .gf-back{top:14px;left:14px;right:auto}
  .leaflet-top.leaflet-left{top:14px;left:112px}
  #searchBar{top:82px;left:190px;right:190px;width:auto;max-width:none;transform:none}
}
@media (max-width:650px){
  .leaflet-top.leaflet-left{top:10px;left:10px}
  .leaflet-top.leaflet-right{top:10px;right:10px;gap:5px}
  .gf-back{top:57px;left:10px;right:auto;z-index:5000;padding:9px 13px;font-size:13px}
  #searchBar{top:112px;left:10px;right:10px;width:auto;max-width:none;transform:none}
  #modeRow{display:flex;justify-content:center;flex-wrap:wrap;gap:3px;padding:5px 7px}
  .modeBtn{font-size:12px;padding:3px 6px}
  #searchWrapper{min-height:42px}
  #searchInput{font-size:14px;padding:12px 13px}
  #searchResults{max-height:42vh}
}
@media (max-width:420px){
  .gf-back{top:55px;padding:8px 11px;font-size:12px}
  #searchBar{top:106px}
  .modeBtn{font-size:11px;padding:3px 4px;gap:3px}
  #modeRow{gap:1px;padding:4px}
}

/* Definitive responsive geometry: controls occupy separate zones. */
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200!important}
.leaflet-top.leaflet-left{top:14px!important;left:14px!important}
.leaflet-top.leaflet-right{top:14px!important;right:14px!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0!important}

@media (min-width:1101px){
  #searchBar{top:14px!important;left:50%!important;right:auto!important;width:94%!important;max-width:540px!important;transform:translateX(-50%)!important}
  .gf-back{top:84px!important;left:14px!important;right:auto!important;z-index:5000!important}
}
@media (min-width:651px) and (max-width:1100px){
  #searchBar{top:82px!important;left:14px!important;right:14px!important;width:auto!important;max-width:none!important;transform:none!important}
  .gf-back{top:14px!important;left:14px!important;right:auto!important;z-index:5000!important}
  .leaflet-top.leaflet-left{top:14px!important;left:112px!important}
}
@media (max-width:650px){
  .leaflet-top.leaflet-left{top:10px!important;left:10px!important}
  .leaflet-top.leaflet-right{top:10px!important;right:10px!important;gap:5px!important}
  .gf-back{top:56px!important;left:10px!important;right:auto!important;padding:9px 13px!important;font-size:13px!important;z-index:5000!important}
  #searchBar{top:110px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;transform:none!important}
  #modeRow{justify-content:center!important;flex-wrap:wrap!important;gap:3px!important;padding:5px 7px!important}
  .modeBtn{font-size:12px!important;padding:3px 6px!important}
  #searchWrapper{min-height:42px!important}
  #searchInput{font-size:14px!important;padding:12px 13px!important}
  #searchResults{max-height:42vh!important}
}
@media (max-width:420px){
  .gf-back{top:54px!important;padding:8px 11px!important;font-size:12px!important}
  #searchBar{top:103px!important}
  .modeBtn{font-size:11px!important;padding:3px 4px!important;gap:3px!important}
  #modeRow{gap:1px!important;padding:4px!important}
}

/* Responsive repair: controls are placed in dedicated, non-overlapping zones. */
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0}
@media (min-width:1101px){
 #searchBar{top:14px;left:50%;right:auto;width:min(94vw,540px);transform:translateX(-50%)}
 .gf-back{top:86px;left:14px;right:auto}
}
@media (min-width:651px) and (max-width:1100px){
 .gf-back{top:14px;left:14px;right:auto}
 .leaflet-top.leaflet-left{top:14px;left:112px}
 .leaflet-top.leaflet-right{top:14px;right:14px;gap:7px}
 #searchBar{top:82px;left:190px;right:190px;width:auto;max-width:none;transform:none}
}
@media (max-width:650px){
 .leaflet-top.leaflet-left{top:10px;left:10px}
 .leaflet-top.leaflet-right{top:10px;right:10px;gap:5px}
 .gf-back{top:57px;left:10px;right:auto;z-index:5000;padding:9px 13px;font-size:13px}
 #searchBar{top:112px;left:10px;right:10px;width:auto;max-width:none;transform:none}
 #modeRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:5px 7px}
 .modeBtn{justify-content:center;font-size:12px;padding:5px 3px}
 #searchWrapper{min-height:42px}
 #searchInput{font-size:14px;padding:12px 13px}
 #searchResults{max-height:42vh}
}
@media (max-width:420px){
 .gf-back{top:55px;padding:8px 11px;font-size:12px}
 #searchBar{top:106px}
 .modeBtn{font-size:11px;padding:4px 2px;gap:3px}
}

/* Final responsive collision prevention */
#searchBar{box-sizing:border-box}
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0}
@media (min-width:1101px){#searchBar{top:14px;left:50%;right:auto;width:min(94vw,540px);transform:translateX(-50%)}.gf-back{top:86px;left:14px;right:auto}.leaflet-top.leaflet-left{top:14px;left:14px}.leaflet-top.leaflet-right{top:14px;right:14px;display:flex;flex-direction:column;gap:8px}}
@media (min-width:651px) and (max-width:1100px){.gf-back{top:14px;left:14px;right:auto}.leaflet-top.leaflet-left{top:14px;left:112px}.leaflet-top.leaflet-right{top:14px;right:14px;display:flex;flex-direction:column;gap:7px}#searchBar{top:82px;left:190px;right:190px;width:auto;max-width:none;transform:none}}
@media (max-width:650px){.leaflet-top.leaflet-left{top:10px;left:10px}.leaflet-top.leaflet-right{top:10px;right:10px;display:flex;flex-direction:column;gap:5px}.gf-back{top:57px;left:10px;right:auto;z-index:5000}#searchBar{top:112px;left:10px;right:10px;width:auto;max-width:none;transform:none}#modeRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:5px 7px}.modeBtn{justify-content:center;font-size:12px;padding:5px 3px}#searchWrapper{min-height:42px}#searchInput{font-size:14px;padding:12px 13px}#searchResults{max-height:42vh}}
@media (max-width:420px){.gf-back{top:55px;padding:8px 11px;font-size:12px}#searchBar{top:106px}.modeBtn{font-size:11px;padding:4px 2px;gap:3px}}

/* Final responsive layout: dedicated collision-free zones for every control. */
#searchBar{box-sizing:border-box;z-index:1000}
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200!important}
.leaflet-top.leaflet-left{top:14px!important;left:14px!important}
.leaflet-top.leaflet-right{top:14px!important;right:14px!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0!important}
.gf-back{z-index:5000!important;pointer-events:auto!important}
@media (min-width:1101px){
 #searchBar{top:14px!important;left:50%!important;right:auto!important;width:min(94vw,540px)!important;transform:translateX(-50%)!important}
 .gf-back{top:86px!important;left:14px!important;right:auto!important}
}
@media (min-width:651px) and (max-width:1100px){
 .gf-back{top:14px!important;left:14px!important;right:auto!important}
 .leaflet-top.leaflet-left{top:14px!important;left:112px!important}
 .leaflet-top.leaflet-right{top:14px!important;right:14px!important;gap:7px!important}
 #searchBar{top:82px!important;left:190px!important;right:190px!important;width:auto!important;max-width:none!important;transform:none!important}
}
@media (max-width:650px){
 .leaflet-top.leaflet-left{top:10px!important;left:10px!important}
 .leaflet-top.leaflet-right{top:10px!important;right:10px!important;gap:5px!important}
 .gf-back{top:57px!important;left:10px!important;right:auto!important;padding:9px 13px!important;font-size:13px!important}
 #searchBar{top:112px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;transform:none!important}
 #modeRow{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:initial!important;gap:3px!important;padding:5px 7px!important}
 .modeBtn{justify-content:center!important;font-size:12px!important;padding:5px 3px!important}
 #searchWrapper{min-height:42px!important}
 #searchInput{font-size:14px!important;padding:12px 13px!important}
 #searchResults{max-height:42vh!important}
}
@media (max-width:420px){
 .gf-back{top:55px!important;padding:8px 11px!important;font-size:12px!important}
 #searchBar{top:106px!important}
 .modeBtn{font-size:11px!important;padding:4px 2px!important;gap:3px!important}
 #modeRow{gap:1px!important;padding:4px!important}
}


/* Final responsive collision-free control layout */
#searchBar{box-sizing:border-box;z-index:1000}
.leaflet-top.leaflet-left,.leaflet-top.leaflet-right{z-index:1200!important}
.leaflet-top.leaflet-left .leaflet-control,.leaflet-top.leaflet-right .leaflet-control{margin:0!important}
.leaflet-top.leaflet-right{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
.gf-back{z-index:5000!important;pointer-events:auto!important}
@media (min-width:1101px){
  #searchBar{top:14px!important;left:50%!important;right:auto!important;width:min(94vw,540px)!important;transform:translateX(-50%)!important}
  .leaflet-top.leaflet-left{top:14px!important;left:14px!important}
  .leaflet-top.leaflet-right{top:14px!important;right:14px!important}
  .gf-back{top:86px!important;left:14px!important;right:auto!important}
}
@media (min-width:651px) and (max-width:1100px){
  .leaflet-top.leaflet-left{top:14px!important;left:14px!important}
  .leaflet-top.leaflet-right{top:14px!important;right:14px!important;gap:7px!important}
  .gf-back{top:14px!important;left:112px!important;right:auto!important}
  #searchBar{top:82px!important;left:14px!important;right:14px!important;width:auto!important;max-width:none!important;transform:none!important}
}
@media (max-width:650px){
  .leaflet-top.leaflet-left{top:10px!important;left:10px!important}
  .leaflet-top.leaflet-right{top:10px!important;right:10px!important;gap:5px!important}
  .gf-back{top:57px!important;left:10px!important;right:auto!important;padding:9px 13px!important;font-size:13px!important}
  #searchBar{top:112px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;transform:none!important}
  #modeRow{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px!important;padding:5px 7px!important}
  .modeBtn{justify-content:center!important;font-size:12px!important;padding:5px 3px!important}
  #searchWrapper{min-height:42px!important}
  #searchInput{font-size:14px!important;padding:12px 13px!important}
  #searchResults{max-height:42vh!important}
}
@media (max-width:420px){
  .gf-back{top:55px!important;padding:8px 11px!important;font-size:12px!important}
  #searchBar{top:106px!important}
  .modeBtn{font-size:11px!important;padding:4px 2px!important;gap:3px!important}
}
