/* Hofkarte — bağımsız stil dosyası (style.css'e dokunmaz) */
.kmap{background:var(--cream,#F7F3E8)}.ktop{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:22px 0 14px;flex-wrap:wrap}.ktop h1{font-size:30px;margin-bottom:4px}
.kform{display:flex;gap:8px;flex-wrap:wrap}.kform .kplz{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line,#E6E1D5);border-radius:999px;padding:0 16px;height:48px;position:relative}.kform input{border:0;outline:0;background:none;width:120px;font-size:15px}.kform select{height:48px;border:1.5px solid var(--line,#E6E1D5);border-radius:999px;background:#fff;padding:0 16px}
.kbody{display:grid;grid-template-columns:400px 1fr;height:calc(100vh - 230px);min-height:560px;border-top:1px solid var(--line,#E6E1D5);background:#fff}
.klist{overflow-y:auto;border-right:1px solid var(--line,#E6E1D5);padding:14px}.kcount{font-size:13px;color:#6B6F68;padding:4px 6px 10px}
.ki{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:12px;border-radius:16px;cursor:pointer;border:1.5px solid transparent;margin-bottom:6px;transition:all .15s}.ki:hover{background:#F7F3E8}.ki.on{border-color:#C9A978;background:#fff;box-shadow:0 8px 24px rgba(36,40,36,.08)}.ki img{width:84px;height:66px;object-fit:cover;border-radius:12px;background:#EEF1EA}.ki b{display:block;font-size:15px;color:#242824}.ki small{display:block;color:#6B6F68;font-size:12.5px;margin-top:2px}.ki .kkm{display:inline-block;background:#234638;color:#fff;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;margin-top:6px}.ki .kfav{float:right;color:#C9A978;font-size:18px;line-height:1}.ki .kfav.on{color:#D85A30}
.kmapwrap{position:relative;min-height:400px}.kcanvas{position:absolute;inset:0;background:#E9EFE4}
.kconsent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(247,243,232,.96);padding:30px;text-align:center}.kconsent p{max-width:460px;color:#3c4039}
.kcard{position:absolute;left:18px;bottom:18px;width:min(420px,calc(100% - 36px));background:#fff;border-radius:20px;box-shadow:0 18px 50px rgba(36,40,36,.2);padding:16px 18px;z-index:500}.kcard .kc-head{display:flex;gap:12px;align-items:center}.kcard .kc-head img{width:64px;height:64px;border-radius:14px;object-fit:cover}.kcard h3{font-size:18px;margin:0}.kcard .kc-sub{font-size:13px;color:#6B6F68}.kcard .kc-x{margin-left:auto;width:32px;height:32px;border-radius:50%;background:#F7F3E8;border:0;cursor:pointer;font-size:16px}
.kcard .kc-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.kcard .kc-tags span{background:#E9F1E5;color:#234638;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px}
.kcard .kc-prods{display:grid;gap:6px;margin:8px 0 12px}.kcard .kc-p{display:flex;gap:10px;align-items:center;background:#FBF8F3;border-radius:12px;padding:6px 8px}.kcard .kc-p img{width:40px;height:40px;border-radius:8px;object-fit:cover}.kcard .kc-p b{font-size:13.5px;display:block}.kcard .kc-p small{color:#6B6F68;font-size:12px}.kcard .kc-p form{margin-left:auto}.kcard .kc-p button{width:34px;height:34px;border-radius:50%;background:#234638;color:#fff;border:0;cursor:pointer;font-size:16px}
.kcard .kc-act{display:flex;gap:8px;flex-wrap:wrap}.kcard .kc-act a,.kcard .kc-act button{flex:1;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:14px;border:1.5px solid #234638;background:#fff;color:#234638;cursor:pointer;text-decoration:none}.kcard .kc-act .kc-route{background:#E58A3B;border-color:#E58A3B;color:#fff}.kcard .kc-act .kc-fav.on{background:#FBE9E3;border-color:#D85A30;color:#D85A30}
.hfpin{background:none;border:0}.hfpin .pin{width:34px;height:34px;border-radius:50% 50% 50% 0;background:#234638;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.25);position:relative}.hfpin .pin:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#E58A3B}.hfpin.on .pin{background:#E58A3B}.hfpin.on .pin:after{background:#fff}.hfpin .me{width:18px;height:18px;border-radius:50%;background:#1F5BFF;border:3px solid #fff;box-shadow:0 0 0 6px rgba(31,91,255,.2)}
.ktoggle{display:none}
.favbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;border:1.5px solid #C9A978;background:#fff;color:#8a5a0f;font-weight:600;font-size:13px;cursor:pointer}.favbtn.on{background:#FBE9E3;border-color:#D85A30;color:#D85A30}.routebtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;background:#234638;color:#fff;font-weight:600;font-size:13px}.routebtn .ic{color:#fff;width:15px;height:15px}
@media(max-width:860px){.ktop{padding:14px 0 10px}.ktop h1{font-size:22px}.kform{width:100%}.kform .kplz{flex:1}.kbody{grid-template-columns:1fr;height:auto;min-height:0}.klist{border:0;max-height:none}.kmapwrap{height:68vh;display:none}.kmap.showmap .kmapwrap{display:block}.kmap.showmap .klist{display:none}
.ktoggle{display:flex;position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#fff;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:4px;z-index:600}.ktoggle button{height:40px;padding:0 18px;border-radius:999px;border:0;background:none;font-weight:600;font-size:14px}.ktoggle button.on{background:#234638;color:#fff}.kcard{left:10px;bottom:74px;width:calc(100% - 20px);max-height:calc(68vh - 90px);overflow:auto;padding:12px 14px}.kcard .kc-prods{grid-template-columns:1fr 1fr}.kcard .kc-p b{font-size:12.5px}.kcard .kc-p img{width:32px;height:32px}.kcard .kc-p:nth-child(3){display:none}}
/* === Zengin harita kartı: kapak fotoğrafı, profil, uzaklık, açık/kapalı, ürünler === */
.overview-detail.rich{display:block;padding:0;overflow:hidden;width:min(400px,calc(100% - 32px));max-height:calc(100% - 32px);overflow-y:auto;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(36,40,36,.22)}
.overview-detail.rich .overview-close{z-index:3;right:10px;top:10px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);color:#242824;font-size:18px;line-height:1}
.ov-cover{position:relative;height:120px;background:#dfe7d4 center/cover no-repeat}.ov-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,40,30,0) 40%,rgba(20,40,30,.45))}
.ov-cover .overview-demo,.ov-cover .ov-verified{position:absolute;left:12px;top:12px;z-index:1;font-size:11px;padding:4px 9px;border-radius:999px}.ov-verified{background:rgba(255,255,255,.92);color:#234638;font-weight:600}
.ov-pill{position:absolute;right:12px;bottom:10px;z-index:1;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:#fff;color:#234638}.ov-pill i,.ov-dot,.kst i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3FA65A}.ov-pill.closed{color:#8a5a0f}.ov-pill.closed i,.ov-dot.closed,.kst.closed i{background:#C9A978}
.ov-pill.open i,.ov-dot.open,.kst.open i{box-shadow:0 0 0 0 rgba(63,166,90,.6);animation:ovpulse 1.8s infinite}@keyframes ovpulse{70%{box-shadow:0 0 0 7px rgba(63,166,90,0)}100%{box-shadow:0 0 0 0 rgba(63,166,90,0)}}
.ov-dot{margin-left:6px;vertical-align:middle}
.ov-body{padding:0 16px 16px}.ov-head{display:flex;gap:12px;align-items:flex-end;margin-top:-26px;position:relative;z-index:2}.ov-avatar{width:60px;height:60px;border-radius:50%;border:3px solid #fff;object-fit:cover;background:#eaf0df;flex:none;box-shadow:0 4px 12px rgba(0,0,0,.15)}.ov-avatar.sym{display:grid;place-items:center}.ov-avatar.sym svg{width:32px;height:32px}
.ov-head h3{font-size:17px!important;line-height:1.25;margin:0;color:#234638}.ov-head p{font-size:12.5px!important;color:#6B6F68;margin:2px 0 0!important}.ov-head p b{color:#234638}
.ov-short{font-size:13px!important;line-height:1.5;color:#3c4039!important;margin:10px 0 0!important}
.overview-detail.rich .overview-crop-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:14px}
.ov-prods{display:grid;gap:6px;margin-bottom:6px}.ov-prod{display:flex!important;gap:10px;align-items:center;background:#F7F8F4;border-radius:12px;padding:6px 8px;margin:0!important;text-decoration:none;color:inherit}.ov-prod:hover{background:#EEF2E9}.ov-prod img{width:40px;height:40px;border-radius:9px;object-fit:cover;flex:none}.ov-prod b{display:block;font-size:13px;font-weight:600;color:#242824}.ov-prod small{font-size:12px;color:#6B6F68}
.ov-more{display:block;font-size:12px;color:#6B6F68;margin:2px 0 8px}.overview-detail.rich .overview-crop-tags span{font-size:11.5px;border-radius:999px;padding:4px 10px}.overview-crop-tags .ov-tag.alt{background:#FFF3DF;color:#8a5a0f}
.ov-hours{font-size:12px!important;color:#6B6F68;margin:10px 0 0!important}
.ov-actions{display:flex;gap:8px;margin-top:14px}.ov-actions .ov-btn{flex:1;height:42px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:999px;border:1.5px solid #234638;color:#234638;font-size:13.5px!important;font-weight:600!important;margin:0!important;text-decoration:none}.ov-actions .ov-btn.dk{background:#234638;color:#fff}
.ov-thumb{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.overview-locate{position:absolute;left:16px;top:16px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid #E6E1D5;font-size:12.5px;font-weight:600;color:#234638;box-shadow:0 4px 12px rgba(36,40,36,.1);cursor:pointer}.overview-locate .ic{width:15px;height:15px}.overview-locate[hidden]{display:none}
.overview-pin span img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.overview-pin.is-open{box-shadow:0 0 0 3px #3FA65A}.overview-pin.is-closed{box-shadow:0 0 0 3px #C9A978}
/* yakın çiftlik haritası: fotoğraflı pin + durum */
.hfava{position:relative;width:46px;height:46px}.hfava img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.28);background:#eaf0df}.hfava i{position:absolute;right:0;bottom:0;width:13px;height:13px;border-radius:50%;border:2px solid #fff;background:#B9BDB4}.hfava.open i{background:#3FA65A}.hfava.closed i{background:#C9A978}.hfava.on img{border-color:#E58A3B}
.kst{display:inline-flex!important;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#234638}.kst.closed{color:#8a5a0f}.ki .kst{margin-top:4px}
.kc-cover{position:relative;height:110px;margin:-16px -18px 12px;border-radius:20px 20px 0 0;background:#dfe7d4 center/cover no-repeat}.kc-cover .kst{position:absolute;right:12px;bottom:10px;background:#fff;border-radius:999px;padding:5px 10px}
.kcard{overflow:hidden;max-height:calc(100% - 36px);overflow-y:auto}.kcard .kc-x{position:absolute;right:12px;top:12px;background:rgba(255,255,255,.92);z-index:2}.kcard .kc-head{margin-top:-34px;position:relative;align-items:flex-end}.kcard .kc-head img{border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15)}.kc-short{font-size:13px;color:#3c4039;margin:0 0 8px;line-height:1.5}
@media(max-width:860px){.kc-cover{margin:-12px -14px 10px;height:90px}.overview-detail.rich{width:calc(100% - 24px);max-height:calc(100% - 24px)}.ov-cover{height:96px}}
.ov-head{margin-top:0;align-items:center;padding-top:10px}.ov-avatar{margin-top:-38px}
.kcard .kc-head{margin-top:0;align-items:center}.kcard .kc-head img{margin-top:-40px}
