/* ===== 건축물 대장(건축물·인허가) ===== */
.bl-head { margin: 4px 0 16px; }
.bl-head h1 { font-size: 24px; font-weight: 800; margin: 0; }

/* 검색 패널 */
.search-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; margin-bottom: 16px; }
.sp-row { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; }
.sp-row + .sp-row { margin-top: 14px; }
.sp-label { font-weight: 700; font-size: 14px; color: var(--ink); }
.sp-radio { font-size: 14px; color: var(--ink); display: inline-flex; align-items: center; gap: 4px; margin-right: 6px; cursor: pointer; }
.addr-in { border: 1px solid var(--line); border-radius: 6px; padding: 9px 12px; font-size: 14px; width: 320px; max-width: 60vw; outline: none; }
.icon-btn { border: 1px solid var(--line); background: #fff; border-radius: 6px; padding: 8px 12px; cursor: pointer; }
.dong-in, .ho-in { border: 1px solid var(--line); border-radius: 6px; padding: 8px 10px; font-size: 14px; width: 64px; text-align: center; outline: none; }
.query-btn { border: 0; background: var(--primary-dark); color: #fff; font-size: 14px; font-weight: 700; padding: 10px 18px; border-radius: 6px; cursor: pointer; }
.query-btn:hover { background: #0e3c86; }
.circle-num { color: var(--primary); font-weight: 800; font-size: 15px; }
.sp-info { text-align: center; color: var(--accent); font-size: 13px; margin: 12px 0; }
.sp-info b { color: var(--primary); }
.sp-method { text-align: center; color: var(--muted); font-size: 12px; margin-top: 12px; }
.sp-divider { border: 0; border-top: 1px solid var(--line); margin: 14px 0; }

/* 지도(네이버) */
.map-wrap { position: relative; margin-bottom: 16px; }
#buildingMap { width: 100%; height: 460px; border: 1px solid var(--line); border-radius: var(--radius); background: #eef0f3; }
.map-legend2 { position: absolute; left: 12px; top: 12px; z-index: 10; display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 8px 12px; box-shadow: 0 1px 5px rgba(0,0,0,.18); }
.map-legend2 span { font-size: 13px; font-weight: 700; color: var(--ink); display: flex; align-items: center; }
.map-legend2 .dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; }
.map-legend2 .dot.b1 { background: #1b3fae; }  /* 건축물 */
.map-legend2 .dot.b2 { background: #2ca089; }  /* 건축물인허가 */
.map-legend2 .dot.b3 { background: #e0393b; }  /* 주택인허가 */

/* 지도(더미 · 회색 플레이스홀더) */
.map-dummy {
    position: relative; height: 460px; border: 1px solid var(--line); border-radius: var(--radius);
    background-color: #eef0f3;
    background-image:
        linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px);
    background-size: 44px 44px;
    overflow: hidden; margin-bottom: 16px;
}
.map-dummy .center-note { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: #9aa2ad; font-size: 16px; font-weight: 600; letter-spacing: .5px; }
.map-legend { position: absolute; left: 14px; top: 14px; display: flex; flex-direction: column; gap: 6px; }
.map-legend span { background: rgba(255,255,255,.95); border: 1px solid var(--line); border-radius: 14px; padding: 3px 10px; font-size: 12px; font-weight: 700; }
.map-legend .b1 { color: #1b3fae; }   /* 건축물 */
.map-legend .b2 { color: #2ca089; }   /* 건축물인허가 */
.map-legend .b3 { color: #e0393b; }   /* 주택인허가 */
.map-dummy .zoom { position: absolute; right: 14px; top: 14px; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.map-dummy .zoom button { border: 0; background: #fff; width: 30px; height: 30px; font-size: 16px; cursor: pointer; color: var(--ink); }
.map-dummy .zoom button + button { border-top: 1px solid var(--line); }
.map-dummy .scale { position: absolute; left: 14px; bottom: 12px; font-size: 12px; color: #7b828c; }
.map-dummy .scale::before { content: ""; display: inline-block; width: 40px; height: 6px; border: 1px solid #7b828c; border-top: 0; margin-right: 6px; vertical-align: middle; }

/* 선택결과 (조회 전엔 숨김) */
.result-sec { display: none; }
.result-tit { font-size: 17px; font-weight: 800; margin: 6px 0 12px; padding-left: 10px; border-left: 4px solid var(--primary); }
.table-scroll { overflow-x: auto; border-radius: var(--radius); }
.bl-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; }
.bl-table th, .bl-table td { border: 1px solid var(--line); padding: 10px 12px; text-align: center; }
.bl-table thead th { background: #f0f4fa; font-weight: 700; }
.bl-table a.celllink { color: var(--primary); font-weight: 600; }
.bl-table a.celllink:hover { text-decoration: underline; }
