/* '지도에서 찾기'(centers.html) 화면. map-finder.js와 짝. 앱 지도 화면(of-app.css)과 같은 디자인 */
#mfScreen{position:relative;height:clamp(480px,74vh,700px);display:flex;flex-direction:column;background:#fff;border:1px solid #E7EBF0;border-radius:18px;overflow:hidden;}
.mf-top{position:relative;padding:14px 20px 12px;background:#fff;}
.mf-place{display:inline-flex;align-items:center;gap:6px;color:var(--ink,#1B2430);text-decoration:none;}
.mf-dong{font-size:22px;font-weight:900;letter-spacing:-.02em;}
.mf-place svg{width:20px;height:20px;}
.mf-area{margin-top:2px;min-height:18px;font-size:13px;color:#8A94A3;}
.mf-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;background:none;color:#7A8594;cursor:pointer;}
.mf-icon-btn svg{width:26px;height:26px;}
/* 상단 가운데 둥근 검색창 (누르면 검색 화면) */
.mf-searchbar{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:11px 16px;
  border:1px solid #E3E8EF;border-radius:999px;background:#F6F8FB;font:inherit;cursor:pointer;
}
.mf-searchbar svg{width:18px;height:18px;color:#7A8594;flex:none;}
.mf-searchbar span{font-size:13px;color:#9AA5B3;}
/* 지도와 지도 위 버튼들 */
.mf-body{position:relative;flex:1;min-height:0;display:flex;}
.mf-canvas{flex:1;min-height:0;width:100%;}
#mfScreen .mf-canvas{border-top:1px solid #EEF1F5;}
.mf-here{
  position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:5;
  display:flex;align-items:center;gap:8px;padding:12px 20px;border:0;border-radius:999px;background:#fff;
  box-shadow:0 4px 14px rgba(27,36,48,.18);font:inherit;font-size:15px;font-weight:800;color:var(--ink,#1B2430);cursor:pointer;
}
.mf-here[hidden]{display:none;}
.mf-here svg{width:18px;height:18px;}
.mf-round{
  position:absolute;z-index:5;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--ink,#1B2430);
  box-shadow:0 4px 14px rgba(27,36,48,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.mf-round svg{width:26px;height:26px;}
.mf-locate{right:14px;top:12px;}
/* '내 주변 운동전문가 보기': 브랜드 파란색, 글자 한 줄 */
.mf-list-btn{
  position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:5;
  display:flex;align-items:center;gap:7px;padding:11px 20px;border:0;border-radius:999px;
  background:var(--blue,#2D74C4);color:#fff;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;
  box-shadow:0 6px 18px rgba(45,116,196,.35);
}
.mf-list-btn svg{width:16px;height:16px;flex:none;}
/* 지도를 눌러 고른 위치 */
.mf-pick{
  position:absolute;left:14px;right:14px;bottom:64px;z-index:6;padding:12px 14px;border-radius:16px;background:#fff;
  box-shadow:0 6px 20px rgba(27,36,48,.18);
}
.mf-pick[hidden]{display:none;}
.mf-pick-go{
  display:block;width:100%;padding:12px 0;border:0;border-radius:12px;background:var(--blue,#2D74C4);color:#fff;
  font:inherit;font-size:14.5px;font-weight:800;cursor:pointer;
}
.mf-pick-addr{margin:8px 0 0;font-size:12.5px;color:#6B7684;text-align:center;word-break:keep-all;}
.mf-pick-addr:empty{display:none;}
/* 지도 오버레이는 폭이 내용만큼이라, 사이트의 svg{max-width:100%} 때문에 폭이 0이 되지 않게 크기를 못박는다 */
.mf-pickpin{width:34px;height:44px;}
.mf-pickpin svg{width:34px !important;height:44px !important;max-width:none !important;display:block;}
/* 내 현재 위치 점 */
.mf-me{width:16px;height:16px;border-radius:50%;background:var(--blue,#2D74C4);border:3px solid #fff;box-shadow:0 0 0 6px rgba(45,116,196,.25),0 2px 6px rgba(0,0,0,.3);}
/* 내 주변 운동전문가 목록 */
.mf-nl-body{flex:1;overflow-y:auto;}
.mf-nl-list{list-style:none;margin:0;padding:0 16px 24px;}
.mf-nl-list li{border-bottom:1px solid #F0F2F5;}
.mf-nl-list a{display:flex;gap:12px;align-items:center;padding:14px 0;text-decoration:none;color:inherit;}
.mf-nl-thumb{flex:none;width:72px;height:72px;border-radius:12px;object-fit:cover;background:#EAF2FB;}
.mf-nl-noimg{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#7A8CA3;}
.mf-nl-info{min-width:0;display:flex;flex-direction:column;gap:3px;}
.mf-nl-info strong{font-size:15px;font-weight:800;color:var(--ink,#1B2430);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mf-nl-info span{font-size:12.5px;color:#8A94A3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mf-nl-info em{font-style:normal;font-size:12.5px;font-weight:800;color:var(--blue,#2D74C4);}
.mf-nl-loading{padding:40px 0;text-align:center;color:#8A94A3;border:0 !important;}
.mf-nl-empty{margin:80px 0 0;text-align:center;font-size:15px;color:#8A94A3;}
.mf-nl-empty[hidden]{display:none;}
.mf-marker{
  display:block;padding:7px 11px;border-radius:12px;background:#fff;border:2px solid var(--blue,#2D74C4);
  color:var(--blue,#2D74C4);font-size:12.5px;font-weight:800;white-space:nowrap;text-decoration:none;
  box-shadow:0 3px 10px rgba(27,36,48,.18);
}

/* 검색 화면 / 위치 확인 화면 (지도 위에 전체로 덮음) */
.mf-overlay{position:fixed;inset:0;z-index:1000;background:#fff;display:flex;flex-direction:column;}
.mf-overlay[hidden]{display:none;}
.mf-ps-top{display:flex;align-items:center;gap:6px;padding:10px 10px 10px 6px;}
.mf-ps-input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:17px;padding:10px 4px;color:var(--ink,#1B2430);background:none;caret-color:var(--blue,#2D74C4);}
.mf-ps-field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;cursor:text;}
.mf-ps-field svg{width:20px;height:20px;flex:none;color:#8A94A3;}
.mf-ps-input::placeholder{color:#8A94A3;}
.mf-ps-close svg{color:var(--ink,#1B2430);}
.mf-ps-input::-webkit-search-cancel-button{display:none;}
.mf-ps-back svg,.mf-pc-back svg{color:var(--ink,#1B2430);}
.mf-ps-quick{display:flex;gap:10px;padding:6px 16px 18px;border-bottom:8px solid #F4F6F9;}
.mf-ps-quick button{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 8px;border:0;border-radius:14px;
  background:#F4F6F9;font:inherit;font-size:15px;font-weight:800;color:var(--ink,#1B2430);cursor:pointer;
}
.mf-ps-quick svg{width:22px;height:22px;color:var(--blue,#2D74C4);}
.mf-ps-body{flex:1;overflow-y:auto;}
.mf-ps-recent-head{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 8px;}
.mf-ps-recent-head strong{font-size:17px;font-weight:900;color:var(--ink,#1B2430);}
.mf-ps-clear{border:0;background:none;font:inherit;font-size:13px;color:#9AA5B3;cursor:pointer;}
.mf-ps-empty{margin:110px 0 0;text-align:center;font-size:15px;color:#8A94A3;}
.mf-ps-empty[hidden]{display:none;}
.mf-ps-results,.mf-ps-recent-list{list-style:none;margin:0;padding:0;}
.mf-ps-results[hidden]{display:none;}
.mf-ps-results li,.mf-ps-recent-list li{padding:14px 20px;border-bottom:1px solid #F0F2F5;cursor:pointer;}
.mf-ps-results li strong,.mf-ps-recent-list li strong{display:block;font-size:15px;font-weight:800;color:var(--ink,#1B2430);}
.mf-ps-results li span,.mf-ps-recent-list li span{display:block;margin-top:2px;font-size:13px;color:#8A94A3;}
.mf-ps-results li.mf-ps-none{cursor:default;font-size:14px;color:#8A94A3;border:0;padding-top:40px;text-align:center;}
.mf-pc-top{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;padding:8px 6px;}
.mf-pc-top strong{text-align:center;font-size:17px;font-weight:800;color:var(--ink,#1B2430);}
.mf-pc-mapwrap{position:relative;flex:1;min-height:0;display:flex;}
.mf-pc-pin{position:absolute;left:50%;top:50%;width:40px;height:52px;transform:translate(-50%,-100%);z-index:5;pointer-events:none;}
.mf-pc-pin svg{width:40px;height:52px;display:block;}
.mf-pc-locate{right:16px;top:16px;}
.mf-pc-sheet{position:relative;margin-top:-18px;z-index:6;padding:12px 22px calc(18px + 0px);background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -6px 20px rgba(27,36,48,.08);}
.mf-pc-handle{width:46px;height:5px;border-radius:999px;background:#E3E7EC;margin:0 auto 18px;}
.mf-pc-sheet h3{margin:0 0 8px;font-size:20px;font-weight:900;color:var(--ink,#1B2430);}
.mf-pc-addr{margin:0 0 22px;font-size:14px;line-height:1.5;color:#6B7684;word-break:keep-all;}
.mf-pc-ok{display:block;width:100%;padding:17px 0;border:0;border-radius:16px;background:var(--blue,#2D74C4);color:#fff;font:inherit;font-size:17px;font-weight:800;cursor:pointer;}
.mf-nl-basis{margin:0;padding:12px 16px 0;font-size:12.5px;font-weight:700;color:#8A94A3;}
.mf-nl-basis:empty{display:none;}

/* 넓은 화면(PC)에서는 검색·위치 확인·목록 화면을 가운데 창으로 띄운다 */
@media (min-width:769px){
  .mf-pick{left:50%;right:auto;width:400px;transform:translateX(-50%);}
  .mf-overlay{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,92vw);height:min(780px,90vh);
    border-radius:20px;overflow:hidden;box-shadow:0 0 0 100vmax rgba(11,18,32,.45),0 20px 60px rgba(0,0,0,.3);}
}
