/* Karte „Unsere Orte“ */
.kk{padding-top:24px}
.kk-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 56px;align-items:end;margin-bottom:30px}
.kk-head .eyebrow{grid-column:1/-1}
.kk-head h1{margin:0}
.kk-head p{max-width:520px;font-size:19px;line-height:1.5;color:#4b5a57;margin:0 0 6px}

/* Symbole (Ebenen-Schalter und Kartenmarker) */
.kk-m{position:relative;display:inline-grid;place-items:center;flex-shrink:0;box-sizing:border-box;width:30px;height:30px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0004;transition:opacity .2s ease,transform .2s ease}
.kk-m i{display:block;background:#fff}
.kk-m--ausflug{background:var(--yellow)}
.kk-m--ausflug i{width:13px;height:16px;-webkit-mask:url('icon-ausflug-pin.svg') center/contain no-repeat;mask:url('icon-ausflug-pin.svg') center/contain no-repeat}
.kk-m--platz{background:var(--blue)}
.kk-m--platz i{width:18px;height:18px;-webkit-mask:url('logo-header-hoch.png') -7px 0/32px auto no-repeat;mask:url('logo-header-hoch.png') -7px 0/32px auto no-repeat}
.kk-m--reise{width:36px;height:36px;background:#fff;border:2px solid var(--blue)}
.kk-m--event{background:var(--ink)}
.kk-m--event i{width:15px;height:16px;-webkit-mask:url('icon-weg-event.svg') center/contain no-repeat;mask:url('icon-weg-event.svg') center/contain no-repeat}
.kk-layer .kk-m--reise{width:30px;height:30px}
.kk-layer .kk-m--reise i{width:21px;height:21px}
.kk-m--reise i{width:24px;height:24px;background:var(--blue);-webkit-mask:url('icon-weg-reise.svg') center/contain no-repeat;mask:url('icon-weg-reise.svg') center/contain no-repeat}
.kk-icon{background:none!important;border:0!important}
.kk-icon .kk-m{cursor:pointer}
.kk-icon:hover .kk-m,.kk-m.is-active{transform:scale(1.15)}
.kk-m--reise.is-active{background:var(--yellow);border-color:#fff}
.kk-m--reise.is-active i{background:#fff}
.kk-focus .kk-icon .kk-m:not(.is-active){opacity:.35}
.kk-stop{width:12px;height:12px;box-sizing:border-box;border:2px solid var(--blue);border-radius:50%;background:#fff}
.kk-cluster{display:grid;place-items:center;box-sizing:border-box;width:40px;height:40px;border:3px solid #fff;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:15px;box-shadow:0 2px 8px #0005}
.kk-cluster.is-mixed{background:var(--ink)}
.marker-cluster{background:none}

/* Leiste mit Ebenen */
.kk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.kk-layers{display:flex;flex-wrap:wrap;gap:10px}
.kk-layer{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}
.kk-layer small{font-weight:400;font-size:13px;color:#63716e}
.kk-layer[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.kk-layer[aria-pressed=false]{background:transparent;color:#63716e}
.kk-layer[aria-pressed=false] .kk-m{opacity:.4;box-shadow:none}
.kk-layer:focus-visible,.kk-all:focus-visible,.kk-trip__btn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.kk-all{padding:0 0 3px;border:0;border-bottom:3px solid var(--yellow);background:none;color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer}

/* Liste und Karte */
.kk-grid{--kk-h:clamp(520px,calc(100vh - 230px),820px);display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}
.kk-side{display:flex;flex-direction:column;height:var(--kk-h);min-height:0}
.kk-filter{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kk-filter label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#62736f}
.kk-filter select{width:100%;padding:9px 10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:15px;letter-spacing:0;text-transform:none}
.kk-count{margin:14px 0 6px;font-size:14px;color:#63716e}
.kk-trips{flex:1;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:0;border-top:1px solid var(--line);overscroll-behavior:contain}
.kk-trip{position:relative;border-bottom:1px solid var(--line)}
.kk-trip__btn{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;width:100%;padding:12px 10px 12px 0;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .18s ease,padding .18s ease}
.kk-trip__img{display:block;width:76px;height:57px;overflow:hidden;background:var(--paper)}
.kk-trip__img img{display:block;width:100%;height:100%;object-fit:cover}
.kk-trip__text small{display:block;margin-bottom:3px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#62736f}
.kk-trip__text strong{display:block;font-family:Trail,Arial,sans-serif;font-size:18px;line-height:1.2;color:var(--blue)}
.kk-trip__btn:hover,.kk-trip.is-hover .kk-trip__btn{background:#f7f5ef}
.kk-trip.is-active .kk-trip__btn{padding-left:12px;background:var(--paper);box-shadow:inset 4px 0 0 var(--yellow)}
.kk-trip__link{display:none;margin:-4px 0 0;padding:0 12px 12px 102px;background:var(--paper);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none!important}
.kk-trip__link::after{content:' →';color:var(--yellow)}
.kk-trip.is-active .kk-trip__link,.kk-trip__link:focus{display:block}
.kk-empty{margin:16px 0;color:#63716e}
.kk-mapwrap{position:relative;height:var(--kk-h)}
.kk-map{height:100%;background:#e6ebe7}
.kk-map .ku-map-choice{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px}

/* Kartenfenster */
.kk-pop .leaflet-popup-content{width:230px!important;margin:0}
.kk-pop .leaflet-popup-content-wrapper{padding:0;border-radius:0;overflow:hidden}
.kk-pop a{display:block;color:var(--ink);text-decoration:none!important}
.kk-pop img{display:block;width:100%;height:128px;object-fit:cover}
.kk-pop span{display:block;padding:12px 14px 14px}
.kk-pop small{display:block;margin-bottom:3px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#62736f}
.kk-pop strong{display:block;font-family:Trail,Arial,sans-serif;font-size:18px;line-height:1.2;color:var(--blue)}
.kk-pop em{display:block;margin-top:8px;font-style:normal;font-weight:700;font-size:14px}
.kk-pop em::after{content:' →';color:var(--yellow)}
.kk-pop .kk-pop__more{border-top:1px solid var(--line)}
.kk-pop img.is-logo{box-sizing:border-box;height:110px;padding:14px 20px;background:#fff;object-fit:contain;border-bottom:1px solid var(--line)}

@media(max-width:900px){
  .kk-head{grid-template-columns:1fr;gap:12px}
  .kk-grid{--kk-h:auto;grid-template-columns:1fr;gap:20px}
  .kk-mapwrap{order:-1;height:62vh;min-height:380px}
  .kk-side{height:auto}
  .kk-trips{overflow:visible}
}
@media(max-width:680px){
  .kk-head p{font-size:17px}
  .kk-layers{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:2px 20px;scrollbar-width:none}
  .kk-layers::-webkit-scrollbar{display:none}
  .kk-layer{flex:0 0 auto;font-size:14px}
  .kk-mapwrap{height:58vh;margin:0 -20px}
}
@media(prefers-reduced-motion:reduce){.kk-m,.kk-trip__btn{transition:none}}

/* Einzelseiten: Kartenmarker und Kartenfenster */
.kk-pin{position:relative;display:block;box-sizing:border-box;width:26px;height:26px;border:2px solid #fff;border-radius:50% 50% 50% 0;background:var(--blue);transform:rotate(-45deg);box-shadow:-1px 2px 6px #0005;cursor:pointer;transition:transform .2s ease}
.kk-pin::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff}
.kk-pin.is-hl{background:var(--yellow)}
.kk-icon:hover .kk-pin{transform:rotate(-45deg) scale(1.12)}
.kk-pin--now{width:30px;height:30px;cursor:default}
.kk-pin--now::after{width:10px;height:10px;margin:-5px 0 0 -5px}
.kk-m--single{width:38px;height:38px;border-width:3px}
.kk-m--single.kk-m--ausflug i{width:16px;height:20px}
.kk-m--single.kk-m--platz i{width:24px;height:24px;-webkit-mask-position:-9px 0;mask-position:-9px 0;-webkit-mask-size:42px auto;mask-size:42px auto}
.kk-m--single.kk-m--event i{width:18px;height:19px}
.kk-pop .kk-pop__plain{padding:12px 16px 14px}
.kk-pop .kk-pop__plain small{display:block;margin-bottom:3px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#62736f}
.kk-pop .kk-pop__plain strong{display:block;font-family:Trail,Arial,sans-serif;font-size:18px;line-height:1.2;color:var(--blue)}
.kk-pop .kk-pop__plain a{display:inline-block;margin-top:8px;color:var(--ink);text-decoration:none!important}
.kk-pop .kk-pop__plain:not(:has(a)) strong{margin-bottom:0}

/* Archivkarten einheitlich höher */
.ku-archive-map{height:clamp(480px,64vh,640px)}
@media(max-width:900px){.ku-archive-map{height:460px}}
@media(max-width:680px){.ku-archive-map{height:380px}}
