.kr-map{border:1px solid #dce5db;border-radius:16px;overflow:hidden;background:#fff;color:#173e32}.kr-map__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:#f3f6ef;border-bottom:1px solid #dce5db}.kr-map__badge{font-size:0.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.kr-map button{font:inherit;font-size:0.8125rem;border:1px solid #b9c9b9;background:#fff;border-radius:30px;padding:9px 14px;color:#173e32;cursor:pointer}.kr-map__layout{display:grid;grid-template-columns:270px 1fr}.kr-map__panel{padding:24px 22px;border-right:1px solid #dce5db}.kr-map__select-label{display:block;font-size:0.875rem;font-weight:750;margin-bottom:10px}.kr-map select{width:100%;padding:11px;border:1px solid #b9c9b9;border-radius:6px;background:white;font:inherit;font-size:0.875rem;color:#173e32}.kr-map fieldset{border:0;padding:0;margin:26px 0 0}.kr-map legend{font-size:0.75rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}.kr-map__toggle{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #edf1e9;cursor:pointer}.kr-map__toggle input{accent-color:#346b42;width:18px;height:18px;flex-shrink:0;margin-top:2px}.kr-map__toggle strong{font-size:0.8125rem;line-height:1.45;display:block}.kr-map__toggle small{font-size:0.6875rem;color:#637262;display:block;margin-top:4px}.kr-map__hint,.kr-map__status{font-size:0.75rem!important;line-height:1.65!important;color:#52654f;margin:22px 0 0!important}.kr-map__status{font-weight:600}.kr-map__canvas{height:550px;z-index:0;background:#edf2e8}.kr-map .leaflet-container{font:inherit}.kr-map .leaflet-popup-content{font-size:0.875rem;line-height:1.5}.kr-map .leaflet-popup-content p{font-size:0.75rem;margin:8px 0}.kr-map__credits{font-size:0.6875rem!important;line-height:1.65!important;margin:0!important;padding:14px 22px;color:#566952}.kr-map__credits a{text-decoration:underline}.kr-map--preview .kr-map__canvas{height:430px}.kr-map :focus-visible{outline:3px solid #173e32;outline-offset:3px}.kr-map .leaflet-control-attribution{font-size:0.625rem}.kr-map .leaflet-control-zoom a{color:#173e32}@media(max-width:700px){.kr-map__layout{display:flex;flex-direction:column}.kr-map__panel{padding:18px;border-right:0;border-bottom:1px solid #dce5db}.kr-map fieldset{margin-top:16px;display:flex;flex-wrap:wrap;gap:0 20px}.kr-map__toggle{flex:1;min-width:140px}.kr-map__hint{display:none}.kr-map__status{margin-top:12px!important}.kr-map__canvas,.kr-map--preview .kr-map__canvas{height:390px}.kr-map__toolbar{padding:14px;align-items:flex-start}.kr-map__badge{font-size:0.625rem}.kr-map__toolbar button{font-size:0.6875rem}.kr-map__credits{padding:14px}}

.kr-map--preview .kr-map__layout{grid-template-columns:1fr}.kr-map--preview .kr-map__panel{display:none}.kr-map--preview .kr-map__canvas{height:390px}.kr-map--preview .kr-map__credits{font-size:0.625rem!important}
/* A scrollable thematic catalogue keeps the map itself large. */
.kr-map__panel{min-width:0}.kr-map__base-label{margin-top:20px}.kr-map__catalog-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:28px 0 12px}.kr-map__catalog-head h2{font-size:1.0625rem!important;letter-spacing:0!important;margin:0!important}.kr-map__catalog-head span{font-size:0.6875rem;color:#637262;white-space:nowrap}.kr-map__search{width:100%;padding:10px 12px;border:1px solid #b9c9b9;border-radius:6px;background:white;color:#173e32;font:inherit;font-size:0.8125rem}.kr-map button.kr-map__clear{font-size:0.6875rem;padding:7px 10px;margin:10px 0 12px}.kr-map__category{border-top:1px solid #dce5db}.kr-map__category>summary{padding:14px 2px;font-size:0.875rem;font-weight:750;cursor:pointer}.kr-map__layer{padding:0 0 10px;border-top:1px solid #edf1e9}.kr-map__layer .kr-map__toggle{border:0;padding:12px 0 5px}.kr-map__layer-detail{margin-left:30px}.kr-map__layer-detail summary{cursor:pointer;font-size:0.6875rem;line-height:1.6;color:#52654f}.kr-map__layer-detail p,.kr-map__layer-detail a{font-size:0.6875rem!important;line-height:1.65!important;margin:10px 0!important;display:block}.kr-map__layer-detail a{text-decoration:underline}.kr-map__layer-status{font-size:0.625rem!important;line-height:1.5!important;margin:5px 0 0 30px!important;color:#52654f}.kr-map__opacity{font-size:0.6875rem;display:block;margin-top:12px}.kr-map__opacity input{display:block;width:100%;accent-color:#346b42}.kr-map__legend{max-width:100%;height:auto;margin-top:12px;background:#fff}.kr-map__catalog-note,.kr-map__no-match{font-size:0.6875rem!important;line-height:1.6!important;margin:16px 0!important;color:#52654f}.kr-map [hidden]{display:none!important}
@media(min-width:701px){.kr-map-page-content .kr-map__layout{grid-template-columns:310px minmax(0,1fr)}.kr-map-page-content .kr-map__panel{max-height:clamp(540px,72vh,920px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
@media(max-width:700px){.kr-map__panel{max-height:340px;overflow-y:auto;overscroll-behavior:contain}.kr-map__catalog-head{margin-top:18px}.kr-map__panel fieldset{display:block}.kr-map__hint{display:none}}
.kr-map .kr-map__panel-toggle{display:none}.kr-map__own-heading{font-size:0.9375rem!important;margin:24px 0 8px!important;letter-spacing:0!important}
@media(max-width:700px){.kr-map__toolbar{flex-wrap:wrap;gap:10px}.kr-map__badge{flex-basis:100%}.kr-map:not(.kr-map--preview) .kr-map__panel-toggle{display:inline-block}.kr-map:not(.kr-map--controls-open) .kr-map__panel{display:none}.kr-map.kr-map--controls-open:not(.kr-map--preview) .kr-map__panel{display:block}}
.kr-map__reference{display:block;padding:10px 0;font-size:0.8125rem;text-decoration:underline!important;line-height:1.6}
.kr-map__swatch{width:12px;height:12px;border:1px solid #0002;border-radius:3px;flex-shrink:0;margin:3px 0 0 auto}.kr-map__layer .kr-map__toggle strong{flex:1}
.kr-map__producer-note{font-size:0.6875rem!important;line-height:1.65!important;margin:12px 0 0!important;color:#52654f}.kr-map__producer-note a,.kr-map__producer-popup a{text-decoration:underline;text-underline-offset:3px}.kr-map__producer-popup strong{display:block}.kr-map__producer-popup a{font-size:0.75rem}.kr-map fieldset.kr-map__producers{display:block}.kr-map__producers .kr-map__toggle input:disabled{cursor:not-allowed}

.kr-map__town-heading{display:flex;align-items:center;gap:10px}.kr-map__town-heading img{width:34px;height:42px;object-fit:contain;flex-shrink:0}.kr-map__town-heading strong{font-size:0.9375rem}.kr-map .leaflet-popup-content a{text-decoration:underline;text-underline-offset:3px}

.kr-map__preview-producers{display:none;align-items:center;gap:8px;font-size:0.75rem;cursor:pointer}.kr-map__preview-producers input{accent-color:#346b42;width:18px;height:18px}.kr-map--preview .kr-map__preview-producers{display:flex}.kr-map__producer-popup section+section{border-top:1px solid #dce5db;margin-top:14px;padding-top:14px}.kr-map__producer-popup p{white-space:pre-line}

/* Distinct pictograms remain understandable without relying on colour alone. */
.kr-map__producer-symbol{--producer-colour:#566647;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--producer-colour);color:#fff;box-sizing:border-box}
.kr-map__producer-symbol--market{--producer-colour:#946029}
.kr-map__producer-symbol--wine{--producer-colour:#7b3c67}
.kr-map__producer-symbol--drinks{--producer-colour:#216c7a}
.kr-map__producer-symbol--produce{--producer-colour:#357447}
.kr-map__producer-symbol--oils{--producer-colour:#956314}
.kr-map__producer-symbol--bakery{--producer-colour:#a54f38}
.kr-map__producer-symbol--catering{--producer-colour:#535a94}
.kr-map__producer-symbol img{display:block;width:23px!important;height:23px!important;max-width:none!important;filter:brightness(0) invert(1);border:0!important;margin:0!important;padding:0!important}
.kr-map .kr-map__producer-marker{background:transparent;border:0}
.kr-map__producer-pin{position:relative;display:block;width:44px;height:46px;filter:drop-shadow(0 2px 2px #18342155)}
.kr-map__producer-pin:before{content:"";position:absolute;left:15px;top:32px;width:14px;height:14px;background:#fff;transform:rotate(45deg);border-radius:2px}
.kr-map__producer-pin>.kr-map__producer-symbol{position:absolute;left:3px;top:0;width:38px;height:38px;border:3px solid white}
.kr-map__producer-pin-count{position:absolute;right:-1px;top:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 3px;border:2px solid white;border-radius:10px;background:#173e32;color:white;font:700 11px/1 Montserrat,sans-serif}
.kr-map .kr-map__producer-marker:focus-visible{outline:none}
.kr-map .kr-map__producer-marker:focus-visible .kr-map__producer-pin>.kr-map__producer-symbol{outline:3px solid #173e32;outline-offset:3px}
.kr-map .leaflet-tooltip{width:max-content;max-width:min(25rem,75vw);white-space:normal;overflow-wrap:normal;font-family:inherit;font-size:.75rem;line-height:1.5}
.kr-map .kr-map__producer-category{display:flex;align-items:center;gap:8px;line-height:1.4}
.kr-map__producer-category .kr-map__producer-symbol{width:28px;height:28px}
.kr-map__producer-category .kr-map__producer-symbol img{width:18px!important;height:18px!important}
.kr-map__producer-legend{padding:17px 22px;border-top:1px solid #dce5db;background:#fbfcf8}
.kr-map__producer-legend>summary{cursor:pointer;font-size:.875rem;font-weight:650;line-height:1.6}
.kr-map .kr-map__producer-legend ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin:18px 0 0;padding:0}
.kr-map .kr-map__producer-legend li{display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:0;font-size:.8125rem;line-height:1.45}
.kr-map__producer-legend small{display:block;font-size:.6875rem;font-weight:400;color:#637262;margin-top:3px}
.kr-map .kr-map__producer-legend p{font-size:.6875rem;line-height:1.6;color:#637262;margin:14px 0 0}
@media(max-width:900px){.kr-map .kr-map__producer-legend ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:700px){.kr-map__producer-legend{padding:16px 14px}.kr-map .kr-map__producer-legend li{gap:8px;font-size:.75rem}.kr-map__producer-legend .kr-map__producer-symbol{width:30px;height:30px}.kr-map__producer-legend .kr-map__producer-symbol img{width:20px!important;height:20px!important}}
:root:is([data-kr-text-size="150"],[data-kr-text-size="175"],[data-kr-text-size="200"]) .kr-map .kr-map__producer-legend ul{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
