.hqs-map-widget{max-width:1000px;margin:0 auto;}
.hqs-map-widget *{box-sizing:border-box;}
.hqs-map-cities{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;}
.hqs-map-city{padding:8px 16px;border-radius:999px;border:1.5px solid #d7dce4;background:#fff;font-size:.82rem;font-weight:700;color:#003770;cursor:pointer;transition:background .2s,color .2s,border-color .2s;font-family:inherit;}
.hqs-map-widget .hqs-map-city:hover{background:#f0f6e3 !important;border-color:#95c11f !important;color:#003770 !important;}
.hqs-map-city.is-active{background:#003770;color:#fff;border-color:#003770;}
.hqs-map-city--all{color:#8a93a2;border-style:dashed;}
.hqs-map-city--all:hover{color:#003770;}
.hqs-map-canvas{border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(0,24,56,.14);border:1px solid #e2e6ee;}
.hqs-leaflet{width:100%;height:520px;background:#eef1f6;}
.hqs-leaflet .leaflet-container{font-family:inherit;}
.hqs-pin svg{width:34px;height:46px;overflow:visible;display:block;}
.hqs-pin__body{fill:#95c11f;stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 3px 5px rgba(0,24,56,.35));}
.hqs-pin__dot{fill:#fff;}
.hqs-pin{transition:transform .18s ease;transform-origin:50% 100%;}
.hqs-pin:hover{transform:scale(1.1);}
.hqs-pin.is-active{transform:scale(1.18);z-index:1000 !important;}
.hqs-pin.is-active .hqs-pin__body{fill:#003770;stroke:#95c11f;}
.hqs-pin.is-active .hqs-pin__dot{fill:#95c11f;}
.hqs-leaflet .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 14px 34px rgba(0,24,56,.22);padding:0;border:1px solid #e2e6ee;}
.hqs-leaflet .leaflet-popup-content{margin:0;padding:16px 18px 14px;}
.hqs-pop__city{display:block;font-weight:800;font-size:1.05rem;color:#003770;}
.hqs-pop__rule{display:block;width:34px;height:2px;margin:8px 0 10px;background:#95c11f;}
.hqs-pop__addr{margin:0 0 10px;font-size:.86rem;color:#5a6270;line-height:1.5;}
.hqs-pop__link{font-size:.8rem;font-weight:700;color:#003770;border-bottom:1.5px solid #95c11f;text-decoration:none;}
.hqs-pop__link:hover{color:#95c11f;}
.hqs-leaflet .leaflet-control-zoom a{border-radius:0;color:#003770;border-color:#e2e6ee;}
.hqs-leaflet .leaflet-control-attribution{background:rgba(255,255,255,.82);font-size:.65rem;}
/* Országtérkép csempék nélkül (2026.09): körvonal, megyék, Balaton, városnevek. */
.hqs-leaflet.leaflet-container{background:#eef1f6;cursor:default;}
.hqs-hu-land{fill:#fff;fill-opacity:1;stroke:none;}
.hqs-hu-county{fill:none;stroke:#d3dae5;stroke-width:1;}
.hqs-hu-lake{fill:#cfe0ec;fill-opacity:1;stroke:#b7cfe0;stroke-width:1;}
.hqs-hu-border{stroke:#003770;stroke-width:2;stroke-opacity:.85;}
.hqs-leaflet .hqs-city-label{background:none;border:0;box-shadow:none;padding:0;font-weight:700;font-size:.82rem;color:#003770;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;}
.hqs-leaflet .hqs-city-label::before{display:none;}
@media(max-width:600px){
  .hqs-leaflet{height:auto;aspect-ratio:1.55;}
  .hqs-leaflet .hqs-city-label{font-size:.66rem;}
  .hqs-pin svg{width:22px;height:30px;margin:16px auto 0;}
}

