/* WasteSpot 3.5.32 - global city finder */
.ws-city-finder{
  position:relative;
  min-width:0;
  flex:1 1 310px;
  max-width:390px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ws-city-finder[hidden],.ws-city-finder [hidden],.ws-city-finder-panel[hidden]{display:none!important}
.ws-city-finder-field{
  position:relative;
  min-width:0;
  height:42px;
  display:flex;
  align-items:center;
  border:1px solid #d4dfd8;
  border-radius:13px;
  color:#53655c;
  background:#f7f9f7;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.ws-city-finder.is-open .ws-city-finder-field,
.ws-city-finder-field:focus-within{
  border-color:#9ebbad;
  background:#fff;
  box-shadow:0 0 0 4px rgba(31,124,77,.09);
}
.ws-city-finder-field>svg{width:18px;height:18px;margin-left:13px;flex:0 0 auto}
.ws-city-finder-field input{
  width:100%;min-width:0;height:40px;padding:0 8px;border:0;outline:0;color:#102019;background:transparent;
  font:700 13px/1.2 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ws-city-finder-field input::placeholder{color:#76877e;font-weight:620;opacity:1}
.ws-city-finder-shortcut{
  min-width:22px;height:22px;margin-right:9px;padding:0 5px;display:grid;place-items:center;border:1px solid #d6dfd9;
  border-radius:6px;color:#74837b;background:#fff;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ws-city-finder-toggle{
  display:none;width:42px;height:42px;padding:0;place-items:center;border:1px solid #dbe4dd;border-radius:12px;
  color:#102019;background:#fff;cursor:pointer;
}
.ws-city-finder-toggle:hover,.ws-city-finder-toggle:focus-visible{border-color:#b6c8bc;background:#f5f8f5;outline:none}
.ws-city-finder-toggle svg{width:19px;height:19px}
.ws-city-finder-panel{
  position:absolute;z-index:1400;top:calc(100% + 12px);left:50%;width:min(560px,calc(100vw - 32px));max-height:min(690px,calc(100vh - 96px));
  padding:12px;border:1px solid #d5e0d8;border-radius:20px;color:#102019;background:#fff;
  box-shadow:0 24px 80px rgba(9,31,21,.22);transform:translateX(-50%);overflow:hidden;
}
.ws-city-finder-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 6px 12px}
.ws-city-finder-panel-head>div{min-width:0}
.ws-city-finder-panel-head strong{display:block;font-size:16px;line-height:1.2;letter-spacing:-.025em}
.ws-city-finder-panel-head small{display:block;margin-top:3px;color:#6a7b72;font-size:10px;line-height:1.4}
.ws-city-finder-close{
  width:36px;height:36px;padding:0;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dce5df;border-radius:11px;
  color:#102019;background:#fff;font-size:23px;line-height:1;cursor:pointer;
}
.ws-city-finder-close:hover,.ws-city-finder-close:focus-visible{background:#f1f5f2;outline:none}
.ws-city-finder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #deebe2;border-radius:13px;background:#f3f8f5}
.ws-city-location-button{
  min-height:36px;padding:8px 11px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;color:#155e3d;
  background:#e3f5e9;font:800 11px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;
}
.ws-city-location-button:hover,.ws-city-location-button:focus-visible{background:#d5efdf;outline:none}
.ws-city-location-button:disabled{opacity:.58;cursor:progress}
.ws-city-location-button svg{width:16px;height:16px}
.ws-city-attribution{color:#73837b;font-size:9px;text-align:right}
.ws-city-finder-status{min-height:20px;margin:8px 5px 2px;color:#64766d;font-size:10px;line-height:1.5}
.ws-city-finder-status[data-state="error"]{color:#9b4936}
.ws-city-finder-status[data-state="success"]{color:#126f42}
.ws-city-finder-status[data-state="loading"]::before{content:"";width:8px;height:8px;margin-right:7px;display:inline-block;border:2px solid #a7b8ae;border-top-color:#16734a;border-radius:50%;animation:ws-city-spin .7s linear infinite}
@keyframes ws-city-spin{to{transform:rotate(360deg)}}
.ws-city-finder-results{max-height:min(500px,calc(100vh - 235px));padding:4px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9c7be transparent}
.ws-city-results-heading{margin:2px 5px 8px;color:#71827a;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ws-city-result{margin:0 0 6px;border:1px solid transparent;border-radius:14px;background:#fff;overflow:hidden}
.ws-city-result.is-active{border-color:#add4be;background:#f0f8f3}
.ws-city-result-primary{
  width:100%;min-height:68px;padding:11px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;
  border:0;color:#102019;background:transparent;text-align:left;cursor:pointer;
}
.ws-city-result-primary:hover,.ws-city-result-primary:focus-visible{outline:none;background:#f4f8f5}
.ws-city-result-pin{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#126f42;background:#e4f4e9}
.ws-city-result-pin svg{width:19px;height:19px}
.ws-city-result-copy{min-width:0}
.ws-city-result-copy strong{display:block;overflow:hidden;font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ws-city-result-copy small{display:block;margin-top:4px;overflow:hidden;color:#687970;font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ws-city-result-open{padding-left:8px;color:#146e43;font-size:10px;font-weight:850;white-space:nowrap}
.ws-city-result-open b{font-size:15px}
.ws-city-result-actions{display:flex;gap:6px;padding:0 10px 10px 59px}
.ws-city-result-action{min-height:29px;padding:6px 9px;border:1px solid #d4e2d8;border-radius:9px;color:#365148;background:#fff;font:800 9px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.ws-city-result-action:hover,.ws-city-result-action:focus-visible{border-color:#8cbea2;color:#126f42;background:#f7fbf8;outline:none}
.ws-city-broader{
  width:100%;min-height:62px;margin-top:4px;padding:11px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;
  border:1px dashed #aabfb2;border-radius:14px;color:#102019;background:#f8fbf9;text-align:left;cursor:pointer;
}
.ws-city-broader:hover,.ws-city-broader:focus-visible{border-style:solid;border-color:#78aa8e;background:#eff8f3;outline:none}
.ws-city-broader>span:first-child{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#174832;font-size:19px}
.ws-city-broader strong,.ws-city-broader small{display:block}
.ws-city-broader strong{font-size:12px;line-height:1.3}
.ws-city-broader small{margin-top:3px;color:#6b7a72;font-size:9px;line-height:1.4}
.ws-city-broader>b{color:#16734a;font-size:16px}

@media(max-width:1540px){
  .ws-city-finder{max-width:330px;flex-basis:270px}
  .ws-city-finder-shortcut{display:none}
}
@media(max-width:1400px){
  .ws-city-finder{max-width:480px;flex:1 1 330px;margin-left:auto}
  .site-header .header-actions{margin-left:0}
}
@media(max-width:980px){
  .ws-city-finder{max-width:none;flex:1 1 auto}
  .ws-city-finder-field input{font-size:12px}
}
@media(max-width:760px){
  html.ws-city-finder-open,html.ws-city-finder-open body{overflow:hidden}
  .ws-city-finder{position:static;max-width:none;flex:0 0 auto;margin-left:auto}
  .ws-city-finder-toggle{display:grid}
  .ws-city-finder-field{display:none}
  .ws-city-finder.is-open .ws-city-finder-field,
  html.ws-city-finder-open .ws-city-finder-field{
    position:fixed;z-index:1503;top:11px;left:14px;right:62px;height:44px;display:flex;border-color:#b5c7bb;background:#fff;
    box-shadow:0 8px 28px rgba(9,31,21,.14);
  }
  .ws-city-finder.is-open .ws-city-finder-field input,html.ws-city-finder-open .ws-city-finder-field input{height:42px;font-size:14px}
  .ws-city-finder.is-open .ws-city-finder-shortcut,html.ws-city-finder-open .ws-city-finder-shortcut{display:none}
  .ws-city-finder-panel{
    position:fixed;z-index:1500;inset:0;width:auto;max-height:none;padding:72px 10px 12px;border:0;border-radius:0;background:#f4f7f4;
    box-shadow:none;transform:none;overflow:auto;
  }
  .ws-city-finder-panel-head{position:static;padding:3px 4px 10px}
  .ws-city-finder-panel-head>div{padding-right:48px}
  .ws-city-finder-close{position:fixed;z-index:1504;top:12px;right:14px;width:42px;height:42px;background:#fff}
  .ws-city-finder-toolbar{background:#fff}
  .ws-city-finder-results{max-height:none;padding:5px 1px 40px;overflow:visible}
  .ws-city-result{background:#fff;box-shadow:0 4px 16px rgba(12,39,25,.04)}
  .ws-city-result-primary{grid-template-columns:40px minmax(0,1fr);min-height:74px}
  .ws-city-result-open{grid-column:2;padding:0;margin-top:-4px}
  .ws-city-result-actions{padding-left:61px}
  .ws-city-broader{background:#fff}
}
@media(max-width:410px){
  .ws-city-finder.is-open .ws-city-finder-field,html.ws-city-finder-open .ws-city-finder-field{left:10px;right:57px}
  .ws-city-finder-close{right:9px}
  .ws-city-result-copy small{white-space:normal}
  .ws-city-result-actions{padding-left:10px}
}

/* WasteSpot 3.5.32 - single focus ring and explicit result destinations. */
.ws-city-finder-field input:focus,.ws-city-finder-field input:focus-visible{
  border:0!important;outline:0!important;outline-offset:0!important;box-shadow:none!important;
}
.ws-city-finder-toggle:focus,.ws-city-finder-toggle:focus-visible,
.ws-city-finder-close:focus,.ws-city-finder-close:focus-visible,
.ws-city-location-button:focus,.ws-city-location-button:focus-visible,
.ws-city-result-action:focus,.ws-city-result-action:focus-visible,
.ws-city-broader:focus,.ws-city-broader:focus-visible{
  outline:0!important;outline-offset:0!important;
}
.ws-city-finder-toggle:focus-visible,.ws-city-finder-close:focus-visible,.ws-city-location-button:focus-visible{
  box-shadow:0 0 0 3px rgba(31,124,77,.14)!important;
}
.ws-city-finder-panel{width:min(650px,calc(100vw - 32px))}
.ws-city-result{
  margin:0 0 8px;padding:12px;border:1px solid #dce6df;border-radius:16px;background:#fff;overflow:visible;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.ws-city-result.is-active{border-color:#9fcab1;background:#fbfefc;box-shadow:0 8px 22px rgba(16,49,34,.07)}
.ws-city-result-summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center}
.ws-city-result-pin{width:42px;height:42px;border-radius:12px}
.ws-city-result-copy strong{font-size:15px}
.ws-city-result-copy small{margin-top:4px;font-size:10px}
.ws-city-result-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:190px}
.ws-city-result-badge{display:inline-flex;align-items:center;min-height:24px;padding:5px 8px;border:1px solid transparent;border-radius:999px;font-size:8px;font-weight:900;line-height:1.15;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.ws-city-result-badge.is-directory{border-color:#b9ddc8;color:#11663d;background:#eaf7ef}
.ws-city-result-badge.is-atlas{border-color:#bfd6df;color:#225d74;background:#edf7fa}
.ws-city-result-badge.is-rules{border-color:#e1d3a9;color:#765a14;background:#fff8df}
.ws-city-result-explainer{margin:9px 0 0;padding-left:53px;color:#61736a;font-size:10px;line-height:1.45}
.ws-city-result-actions{display:flex;flex-wrap:wrap;gap:7px;padding:11px 0 0 53px}
.ws-city-result-action{min-height:36px;padding:8px 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font:850 10px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.ws-city-result-action.is-primary{border:1px solid #153b2a;color:#fff;background:#123326}
.ws-city-result-action.is-primary:hover,.ws-city-result-action.is-primary:focus-visible{border-color:#102b20;color:#fff;background:#1a4935;box-shadow:0 0 0 3px rgba(23,100,63,.14)!important}
.ws-city-result-action.is-secondary{border:1px solid #cedcd3;color:#2e4d3e;background:#fff}
.ws-city-result-action.is-secondary:hover,.ws-city-result-action.is-secondary:focus-visible{border-color:#79b292;color:#105f39;background:#f1f8f4;box-shadow:0 0 0 3px rgba(23,100,63,.1)!important}
.ws-city-result-action b{font-size:14px}

@media(max-width:760px){
  .ws-city-finder-panel{width:auto}
  .ws-city-result{padding:13px}
  .ws-city-result-summary{grid-template-columns:42px minmax(0,1fr)}
  .ws-city-result-badges{grid-column:2;justify-content:flex-start;max-width:none;margin-top:1px}
  .ws-city-result-explainer{padding-left:53px}
  .ws-city-result-actions{padding-left:53px}
  .ws-city-result-action.is-primary{flex:1 1 190px}
}
@media(max-width:430px){
  .ws-city-result-explainer,.ws-city-result-actions{padding-left:0}
  .ws-city-result-actions{display:grid;grid-template-columns:1fr}
  .ws-city-result-action{width:100%}
}

/* Final 3.5.32 focus and action contrast corrections. */
.ws-city-finder.is-open .ws-city-finder-field,.ws-city-finder-field:focus-within{
  border-color:#4f8c6d!important;background:#fff!important;box-shadow:0 4px 14px rgba(16,49,34,.07)!important;
}
button.ws-city-result-action.is-primary,
button.ws-city-result-action.is-primary:hover,
button.ws-city-result-action.is-primary:focus-visible{
  color:#fff!important;text-shadow:none!important;
}
button.ws-city-result-action.is-primary b{color:#fff!important}
.ws-city-result-action>svg{width:15px;height:15px;display:block;flex:0 0 auto}

/* R1: scoped input reset; focus belongs to the enclosing search field. */
:root{--ws-city-finder-build:353201}
#ws-city-finder-input,
#ws-city-finder-input:focus,
#ws-city-finder-input:focus-visible{
  -webkit-appearance:none!important;appearance:none!important;
  border:0!important;outline:none!important;outline-offset:0!important;
  box-shadow:none!important;background:transparent!important;border-radius:0!important;
}
#ws-city-finder-input::-webkit-search-decoration{display:none}
