/* KapKaravan kamp alanları haritası — uygulama düzeni */
.kk-map{ --g:var(--kk-green,#315C49); --gd:var(--kk-green-dark,#123D32); --sand:#D9893A; --ink:var(--kk-text,#17211D); --soft:var(--kk-text-soft,#66706A); --stone:var(--kk-stone,#EEEAE0); --line:rgba(18,61,50,.10);
	width:min(1200px, calc(100vw - 32px)); margin:28px 0 36px calc(50% - min(600px, 50vw - 16px)); font-size:15px; }
.kk-map *{ box-sizing:border-box; }
.kk-svg{ width:16px; height:16px; flex:0 0 auto; }

/* Araç çubuğu */
.kk-map-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; padding:12px; margin-bottom:12px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--kk-shadow-sm); }
.kk-seg{ display:inline-flex; padding:4px; background:var(--stone); border-radius:999px; }
.kk-map .kk-seg button{ appearance:none; border:0; margin:0; padding:8px 16px; border-radius:999px; background:transparent; color:var(--soft); font:700 14px/1 var(--kk-font,inherit); cursor:pointer; transition:background .15s,color .15s,box-shadow .15s; }
.kk-map .kk-seg button:hover{ background:transparent; color:var(--ink); }
.kk-map .kk-seg button.is-active{ background:#fff; color:var(--gd); box-shadow:0 1px 3px rgba(18,61,50,.18); }
.kk-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.kk-map .kk-chip{ appearance:none; display:inline-flex; align-items:center; gap:7px; margin:0; padding:8px 13px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:600 13.5px/1 var(--kk-font,inherit); cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.kk-map .kk-chip .kk-ic{ display:inline-flex; color:var(--g); }
.kk-map .kk-chip:hover{ background:#F4F6F2; color:var(--ink); border-color:rgba(18,61,50,.22); }
.kk-map .kk-chip.is-active{ background:var(--g); border-color:var(--g); color:#fff; }
.kk-map .kk-chip.is-active .kk-ic{ color:#fff; }
.kk-map .kk-seg button:focus-visible,.kk-map .kk-chip:focus-visible,.kk-place:focus-visible{ outline:3px solid rgba(49,92,73,.35); outline-offset:2px; }

/* Gövde: liste + harita */
.kk-map-body{ display:grid; grid-template-columns:380px minmax(0,1fr); height:min(680px, 78vh); min-height:520px; background:#fff; border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:var(--kk-shadow); }
.kk-map-side{ display:flex; flex-direction:column; min-height:0; background:#FBFAF6; border-right:1px solid var(--line); }
.kk-map-sidehead{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 18px; border-bottom:1px solid var(--line); background:#fff; }
.kk-map-sidehead strong{ font-size:15px; color:var(--ink); }
.kk-map .kk-map-reset{ appearance:none; border:0; background:none; padding:4px 0; color:var(--g); font:700 13px/1 var(--kk-font,inherit); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.kk-map .kk-map-reset:hover{ background:none; color:var(--gd); }
.kk-map-list{ flex:1; min-height:0; overflow-y:auto; padding:10px; scrollbar-width:thin; }
.kk-map-canvas{ position:relative; min-height:0; z-index:1; background:#e9eef0; }
.kk-map-canvas .leaflet-tile-pane{ filter:saturate(.55) brightness(1.03) contrast(.95); }

/* Liste kartı */
.kk-place{ position:relative; padding:14px 14px 13px; margin-bottom:8px; background:#fff; border:1px solid var(--line); border-radius:14px; cursor:pointer; transition:border-color .15s, box-shadow .15s, transform .15s; }
.kk-place:hover{ border-color:rgba(18,61,50,.25); box-shadow:0 4px 14px rgba(18,61,50,.08); }
.kk-place.is-active{ border-color:var(--g); box-shadow:0 0 0 2px rgba(49,92,73,.18), 0 6px 18px rgba(18,61,50,.10); }
.kk-place-top{ display:flex; gap:10px; align-items:flex-start; }
.kk-place-dot{ flex:0 0 10px; width:10px; height:10px; margin-top:7px; border-radius:50%; }
.kk-place-dot.is-precise{ background:var(--g); } .kk-place-dot.is-approx{ background:var(--sand); }
.entry-content .kk-place h3{ margin:0; font-size:16px; line-height:1.35; color:var(--ink); }
.entry-content .kk-place-h p{ margin:2px 0 0; font-size:13px; color:var(--soft); }
.kk-place-tags{ display:flex; flex-wrap:wrap; gap:5px; margin:10px 0 0 20px; }
.kk-place-tags span{ padding:3px 8px; border-radius:6px; background:var(--stone); color:#3D4842; font-size:11.5px; font-weight:600; }
.kk-place-tags span.is-approx{ background:#FBEBD9; color:#8A4A12; }
.kk-fis{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 0 20px; }
.kk-fi{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:8px; background:#EEF4EF; color:var(--g); }
.kk-fi .kk-svg{ width:15px; height:15px; }
.entry-content .kk-place-price{ margin:10px 0 0 20px; padding:8px 10px; border-radius:8px; background:#FFF8EC; color:#5B4A2A; font-size:12.5px; line-height:1.45; }
.kk-place-links{ display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 0 20px; }
.entry-content .kk-place-a,.entry-content .kk-pop-a{ display:inline-flex; align-items:center; gap:5px; padding:6px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--gd); font-size:12.5px; font-weight:700; text-decoration:none; line-height:1; }
.entry-content .kk-place-a .kk-svg,.entry-content .kk-pop-a .kk-svg{ width:14px; height:14px; }
.entry-content .kk-place-a:hover,.entry-content .kk-pop-a:hover{ background:#F4F6F2; color:var(--gd); }
.entry-content .kk-place-a.is-primary,.entry-content .kk-pop-a.is-primary{ background:var(--g); border-color:var(--g); color:#fff; }
.entry-content .kk-place-a.is-primary:hover,.entry-content .kk-pop-a.is-primary:hover{ background:var(--gd); color:#fff; }
.kk-map-empty{ padding:40px 16px; text-align:center; color:var(--soft); }
.kk-map-empty strong{ display:block; color:var(--ink); margin-bottom:4px; }

/* Pinler */
.kk-pin-wrap{ background:none; border:0; }
.kk-pin{ position:absolute; left:3px; top:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); border:2.5px solid #fff; box-shadow:0 3px 8px rgba(18,33,29,.35); transition:transform .15s; }
.kk-pin.is-precise{ background:var(--g); } .kk-pin.is-approx{ background:var(--sand); }
.kk-pin-ic{ width:14px; height:14px; transform:rotate(45deg); color:#fff; }
.kk-pin.is-active,.kk-pin-wrap.is-hover .kk-pin{ transform:rotate(-45deg) scale(1.25); box-shadow:0 0 0 4px rgba(200,155,60,.45), 0 4px 12px rgba(18,33,29,.4); }

/* Gösterge ve popup */
.kk-legend{ display:flex; flex-direction:column; gap:4px; padding:8px 10px; background:rgba(255,255,255,.94); border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.15); font:600 12px/1.3 var(--kk-font,sans-serif); color:#2c3a33; }
.kk-legend span{ display:flex; align-items:center; gap:6px; }
.kk-lg{ width:11px; height:11px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); border:2px solid #fff; box-shadow:0 0 0 1px rgba(0,0,0,.15); }
.kk-lg.is-precise{ background:#315C49; } .kk-lg.is-approx{ background:#D9893A; }
.kk-popup .leaflet-popup-content-wrapper{ border-radius:16px; box-shadow:0 10px 30px rgba(18,33,29,.22); }
.kk-popup .leaflet-popup-content{ margin:14px 16px; font-family:var(--kk-font,sans-serif); }
.kk-pop strong{ display:block; font-size:15px; color:#17211D; }
.kk-pop-meta{ display:block; margin-top:2px; font-size:12.5px; color:#66706A; }
.kk-badge-approx{ display:inline-block; margin-top:8px; padding:3px 8px; border-radius:6px; background:#FBEBD9; color:#8A4A12; font-size:11.5px; font-weight:600; }
.kk-pop .kk-fis,.kk-pop .kk-pop-links{ margin-left:0; }
.kk-pop-links{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.leaflet-container .kk-pop-a{ display:inline-flex; align-items:center; gap:5px; padding:6px 9px; border:1px solid rgba(18,61,50,.12); border-radius:8px; color:#123D32; font-size:12px; font-weight:700; text-decoration:none; }
.leaflet-container .kk-pop-a.is-primary{ background:#315C49; border-color:#315C49; color:#fff; }
.leaflet-container .kk-pop-a .kk-svg{ width:13px; height:13px; }
.kk-map .leaflet-control-zoom{ border:0; box-shadow:0 1px 4px rgba(0,0,0,.18); border-radius:10px; overflow:hidden; }
.kk-map .leaflet-control-zoom a{ width:34px; height:34px; line-height:34px; color:#123D32; }

/* Tablet / mobil: harita üstte, liste altta */
@media (max-width:960px){
	.kk-map{ width:100%; margin:24px 0 32px; }
	.kk-map-toolbar{ padding:10px; gap:10px; }
	.kk-seg{ width:100%; } .kk-map .kk-seg button{ flex:1; padding:9px 6px; }
	.kk-chips{ flex-wrap:nowrap; overflow-x:auto; margin:0 -10px; padding:0 10px 2px; scrollbar-width:none; }
	.kk-chips::-webkit-scrollbar{ display:none; }
	.kk-map .kk-chip{ flex:0 0 auto; }
	.kk-map-body{ display:flex; flex-direction:column; height:auto; min-height:0; }
	.kk-map-canvas{ order:-1; height:380px; flex:0 0 380px; }
	.kk-map-side{ border-right:0; border-top:1px solid var(--line); }
	.kk-map-list{ overflow:visible; }
}

/* Mobil: çiplerin yana kaydığını belli et. */
@media (max-width:640px){
	.kk-chips{ -webkit-mask-image:linear-gradient(to right,#000 82%,transparent); mask-image:linear-gradient(to right,#000 82%,transparent); }
}
/* Dokunmatik ekranlarda en az 44px dokunma alanı. */
@media (pointer:coarse){
	.kk-map .kk-chip,.kk-map .kk-seg button{ min-height:44px; }
	.kk-map .leaflet-bar a{ width:44px; height:44px; line-height:44px; font-size:20px; }
	.kk-place-links a,.kk-place-links button,.kk-pop-links a{ min-height:44px; display:inline-flex; align-items:center; }
}
