/* 지도 화면(map.html)을 손님 화면 새 디자인(rb.css)에 맞추는 덧씌움.
 * map.html 안의 <style> 뒤에 불러온다. 기능·배치는 그대로 두고 글꼴·색·모서리·머리글만 맞춘다(직원 도구 포함).
 */
:root {
  --bg: #F4F5F3; --surface: #FFFFFF; --ink: #14202B; --ink-2: #3D4A55; --muted: #5B6670; --line: #D9DDDA;
  --accent: #1F4D46; --accent-deep: #163A35; --accent-wash: #E8EEEB; --r: 3px;
  --sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", "Noto Sans KR", system-ui, sans-serif;
}
body, button, input, select, textarea { font-family: var(--sans); letter-spacing: -0.01em; }
body { background: var(--bg); color: var(--ink); -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* 머리글: 다른 손님 화면과 같은 모양 */
.ms-head { height: 64px; padding: 0 24px; gap: 8px; border-bottom: 1px solid var(--line); background: var(--surface); }
.ms-head .logo { display: inline-flex; align-items: center; gap: 10px; font-size: 1.125rem; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); margin-right: 20px; }
.ms-head .logo .logo-mark { border-radius: var(--r); }
.ms-head nav { margin-left: 0; margin-right: auto; gap: 2px; }
.ms-head nav a { padding: 8px 12px; font-size: .9375rem; font-weight: 500; color: var(--ink-2); border-radius: 0; border-bottom: 2px solid transparent; line-height: 46px; background: none !important; }
.ms-head nav a:hover { color: var(--ink); }
.ms-head nav a.on { color: var(--ink); font-weight: 700; border-bottom-color: var(--ink); }
.ms-head nav a#tour-link, .ms-head nav a#staff-link { line-height: 1.2; border: 1px solid var(--line); border-radius: var(--r); padding: 8px 12px; font-size: .8125rem; margin-left: 6px; }
.hdr-fav { color: var(--ink); border-radius: var(--r); width: 44px; height: 44px; }
.hdr-fav-n { background: var(--accent); }
@media (max-width: 760px) {
  .ms-head { height: 56px; padding: 0 16px; }
  .ms-head nav a { line-height: 38px; padding: 8px 8px; font-size: .875rem; }
  .ms-head nav a.hide-m { display: none; }
}

/* 조건 줄 */
.ms-fbar { border-bottom: 1px solid var(--line); gap: 8px; }
.ms-q, .ms-fbar .ms-q { border: 1px solid var(--ink); border-radius: var(--r); }
.fb-btn { border-radius: var(--r); border-color: var(--line); font-weight: 500; color: var(--ink-2); }
.fb-btn:hover { border-color: var(--ink); }
.fb.on .fb-btn { background: var(--surface); border-color: var(--accent); color: var(--accent); font-weight: 700; }
.fb.open .fb-btn { border-color: var(--ink); box-shadow: none; }
.fb-pop { border: 1px solid var(--ink); border-radius: var(--r); box-shadow: none; }
.ms-btn, .ms-chip, .ms-seg button, .fb-toggle { border-radius: var(--r) !important; }
.ms-chip.on, .ms-seg button.on { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; }

/* 결과 목록 */
.ms-panel { border-right: 1px solid var(--line); }
.ms-count { font-weight: 500; color: var(--ink-2); }
.ms-count b { color: var(--ink); font-variant-numeric: tabular-nums; }
.ms-list { gap: 22px 16px; padding: 16px 16px 24px; }
.ms-card { padding: 0; border: 0; border-radius: 0; background: none; gap: 3px; transition: none; }
.ms-card:hover, .ms-card.on { box-shadow: none; }
.ms-card .ph { border-radius: var(--r); aspect-ratio: 4 / 3; margin-bottom: 6px; outline: 2px solid transparent; outline-offset: 2px; transition: outline-color .15s; }
.ms-card:hover .ph, .ms-card.on .ph { outline-color: var(--ink); }
.ms-card.picked { box-shadow: none; }
.ms-card.picked .ph { outline-color: var(--accent); }
.ms-card .ph .no, .ms-card .ph .pv { border-radius: 2px; font-weight: 500; background: rgb(20 32 43 / .72); }
.ms-card .ph .ov { background: linear-gradient(transparent, rgb(20 32 43 / .82)); font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.ms-card .ph .ov small { font-weight: 400; opacity: .85; }
.ms-card .meta { font-weight: 400; color: var(--muted); }
.ms-card .spec { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.ms-card .addr { color: var(--ink-2); }
.ms-card .addr i { display: none; }
.ms-card .badges span { background: none; border: 1px solid var(--line); border-radius: 2px; font-weight: 500; color: var(--ink-2); }
.ms-card .brk { border-top-style: solid; border-top-color: var(--line); }
.ms-card .brk span { color: var(--ink-2); }

/* 지도 위 버튼 */
.ms-inview, .ms-fitall, .ms-me, .ms-mapnote { border-radius: var(--r) !important; box-shadow: none !important; border: 1px solid var(--line) !important; }

/* 새 매물 알림 버튼 · 떠 있는 상담 버튼(visit_booking.js) */
.ms-btn.alert { background: var(--surface) !important; border: 1px solid var(--accent) !important; color: var(--accent) !important; font-weight: 600 !important; }
.ms-btn.alert i { color: inherit !important; }
.bk-fab { height: 44px !important; border-radius: var(--r) !important; box-shadow: none !important; border: 1px solid var(--ink) !important; font-size: .875rem !important; font-weight: 600 !important; transform: none !important; }
.bk-fab.book { background: var(--surface) !important; color: var(--ink) !important; }
.bk-fab.kakao { border-color: #FEE500 !important; }

/* 휴대폰 머리글: 로고 + 「전체 매물」「상담 문의」만(나머지는 첫 화면 메뉴에 있다) */
.ms-head .logo { flex: none; }
@media (max-width: 760px) {
  .ms-head nav { margin-left: auto; margin-right: 0; }
  .ms-head nav a { display: none !important; }
  .ms-head nav a[href="/listings"], .ms-head nav a[href="/#sec-cta"] { display: block !important; }
  .ms-head nav a#tour-link:not([style*="none"]), .ms-head nav a#staff-link:not([style*="none"]) { display: block !important; }
  .ms-head .logo { margin-right: 0; font-size: 1rem; }
}

/* 글꼴 통일: index.css 가 모든 요소에 'Outfit','Noto Sans KR' 을 걸어 두어 숫자·영문과 한글 글꼴이 섞여 보였다.
   같은 변수를 손님 화면 글꼴로 바꿔 지도·조건 창·상세 창 전체가 한 글꼴을 쓰게 한다. */
:root { --font-primary: var(--sans); }
.ms-fbar, .ms-panel, .fb-pop, .idv { font-variant-numeric: tabular-nums; }

/* 조건 창 */
.fb-pop .ms-f > label, .fb-pop h4, .fb-pop .ms-lb { font-weight: 700; color: var(--ink); }
.ms-quick button { border-style: solid !important; border-color: var(--line) !important; background: var(--surface) !important; font-weight: 500 !important; color: var(--ink-2) !important; }
.ms-quick button:hover { border-color: var(--ink) !important; color: var(--ink) !important; }
.ms-chip, .ms-seg button, .fb-btn, .ms-btn { font-weight: 500 !important; }
.ms-chip.on, .ms-seg button.on, .fb.on .fb-btn { font-weight: 700 !important; }
.ms-num input { border-radius: var(--r) !important; }

/* 매물 상세 창(item_detail.js) */
.idv { border-radius: var(--r) !important; }
.idv-head { border-bottom: 1px solid var(--line); }
.idv-head .no { background: var(--ink) !important; font-weight: 500 !important; }
.idv-head h2 { font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: -0.035em !important; }
.idv-head .addr { font-size: .9375rem !important; }
.idv-tag, .idv-tag.red, .idv-tag.blue, .idv-tag.green { background: none !important; border: 1px solid var(--line) !important; color: var(--ink-2) !important; font-weight: 500 !important; font-size: .8125rem !important; }
.idv-x { height: 44px !important; min-width: 0 !important; border: 1px solid var(--line) !important; background: var(--surface) !important; font-size: 1rem !important; font-weight: 500 !important; }
.idv-x::after { font-size: .875rem !important; }
.idv-x:hover { background: var(--ink) !important; color: #fff !important; border-color: var(--ink) !important; }
.idv .btn { font-weight: 500 !important; }
.idv-nav button { font-size: 1rem !important; font-weight: 500 !important; }
.idv-nav button.on { font-weight: 700 !important; color: var(--ink) !important; border-bottom-color: var(--ink) !important; }
.idv h3, .idv h4 { letter-spacing: -0.03em; }

/* ---------------------------------------------------------------- 손님 목록 카드: 첫 화면·목록과 같은 카드(.lc)를 가로형으로 */
.ms-list:has(.ms-card.g) { grid-template-columns: 1fr; gap: 0; padding: 0 20px 24px; }
.ms-card.g { display: block; padding: 18px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.ms-card.g .lc { position: relative; display: grid; grid-template-columns: 184px minmax(0, 1fr); gap: 18px; align-items: start; }
.ms-card.g .lc-ph { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #E7EAE7; border-radius: var(--r); outline: 2px solid transparent; outline-offset: 2px; transition: outline-color .15s; }
.ms-card.g:hover .lc-ph, .ms-card.g.on .lc-ph { outline-color: var(--ink); }
.ms-card.g .lc-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-card.g .lc-n { position: absolute; right: 6px; bottom: 6px; padding: 1px 6px; border-radius: 2px; background: rgb(20 32 43 / .72); color: #fff; font-size: .6875rem; font-weight: 500; }
.ms-card.g .vt-heart { position: absolute; left: 144px; top: 6px; z-index: 2; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .92); color: var(--ink); font-size: .875rem; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ms-card.g .vt-heart.vt-on, .ms-card.g .vt-heart.on { color: #9A3B1E; }
.ms-card.g .lc-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ms-card.g .lc-kind { display: flex; align-items: center; gap: 8px; font-size: .8125rem; color: var(--muted); }
.ms-card.g .lc-pick { color: var(--accent); font-weight: 700; }
.ms-card.g .lc-pick::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; background: var(--accent); border-radius: 50%; vertical-align: 2px; }
.ms-card.g .lc-title { font-size: .9375rem; font-weight: 500; line-height: 1.4; color: var(--ink-2); margin: 0; }
.ms-card.g .lc-title a { color: inherit; text-decoration: none; }
.ms-card.g .lc-price { margin-top: 4px; font-size: 1.25rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1.3; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ms-card.g .lc-price i { font-style: normal; font-weight: 400; color: var(--line); margin-inline: 5px; }
.ms-card.g .lc-price small { font-size: .75rem; font-weight: 500; color: var(--muted); margin-right: 4px; letter-spacing: -0.01em; }
.ms-card.g .lc-noc { font-size: .8125rem; color: var(--accent); font-weight: 600; }
.ms-card.g .lc-facts { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); font-size: .8125rem; color: var(--ink-2); line-height: 1.5; }
.ms-card.g .lc-facts span + span::before { content: ""; display: inline-block; width: 1px; height: 9px; margin-inline: 8px; background: var(--line); }
.ms-card.g .lc-tags { font-size: .75rem; color: var(--muted); }
@media (max-width: 760px) {
  .ms-list:has(.ms-card.g) { padding: 0 16px 110px; }
  .ms-card.g { padding: 14px 0; }
  .ms-card.g .lc { grid-template-columns: 116px minmax(0, 1fr); gap: 14px; }
  .ms-card.g .vt-heart { left: 80px; width: 30px; height: 30px; }
  .ms-card.g .lc-price { font-size: 1.0625rem; }
  .ms-card.g .lc-tags { display: none; }
}

/* 직원 목록 카드(+ 손님 카드를 아직 못 받았을 때): 손님 카드와 같은 가로형. 직원은 체크 칸·등급·평가 줄이 더 붙는다 */
.ms-list:has(.ms-card.s) { grid-template-columns: 1fr; gap: 0; padding: 0 20px 24px; }
.ms-card.s { display: grid; grid-template-columns: 184px minmax(0, 1fr); gap: 18px; align-items: start; padding: 18px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; cursor: pointer; }
.ms-card.s:hover, .ms-card.s.on, .ms-card.s.picked { border-bottom-color: var(--line); box-shadow: none; }
.ms-card.s .ph { aspect-ratio: 4 / 3; margin: 0; grid-row: auto; background: #E7EAE7; }
.ms-card.s .ph .no, .ms-card.s .ph .pv { top: 6px; left: 6px; font-size: .6875rem; padding: 1px 6px; }
.ms-card.s .ph .pv { top: 26px; }
.ms-card.s .ph .ms-ck { top: 6px; right: 6px; width: 26px; height: 26px; border-radius: 2px; box-shadow: none; }
.ms-card.s .ph .nophoto { padding-bottom: 0; font-size: .8125rem; font-weight: 500; color: var(--muted); }
.ms-card.s .sb { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ms-card.s .meta { font-size: .8125rem; color: var(--muted); }
.ms-card.s .meta .pm { color: var(--accent); font-weight: 600; }
.ms-card.s .sc-price { margin-top: 2px; font-size: 1.25rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1.3; color: var(--ink); font-variant-numeric: tabular-nums; }
.ms-card.s .sc-price i { font-style: normal; font-weight: 400; color: var(--line); margin-inline: 5px; }
.ms-card.s .sc-price small { font-size: .75rem; font-weight: 500; color: var(--muted); margin-right: 4px; letter-spacing: -0.01em; }
.ms-card.s .spec { font-size: .875rem; font-weight: 500; color: var(--ink-2); }
.ms-card.s .addr { font-size: .8125rem; color: var(--muted); }
.ms-card.s .badges { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 4px; }
.ms-card.s .badges span { border-radius: 2px; font-size: .75rem; padding: 1px 6px; }
.ms-card.s .badges span.g { border-color: transparent; }
.ms-card.s .badges span.u { border-color: var(--warn); color: var(--warn); }
.ms-card.s .badges span.r { border-color: var(--accent); color: var(--accent); }
.ms-card.s .hl { margin-top: 8px; font-size: .8125rem; color: var(--ink-2); line-height: 1.45; }
.ms-card.s .hl .hl-none { color: var(--muted); opacity: .6; }
.ms-card.s .hl-btn { border: 1px solid var(--line); border-radius: 2px; padding: 0 6px; margin-left: 4px; font-size: .75rem; line-height: 1.6; color: var(--ink-2); background: none; }
.ms-card.s .hl-btn:hover { border-color: var(--ink); color: var(--ink); }
.ms-card.s .brk { margin-top: 8px; font-size: .6875rem; color: var(--muted); }
/* 촘촘히 보기(직원): 작은 사진 옆에 금액·면적만 */
.ms-list.dense:has(.ms-card.s) { padding: 0 16px 20px; }
.ms-list.dense .ms-card.s { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; padding: 10px 0; }
.ms-list.dense .ms-card.s .ph { aspect-ratio: 1; grid-row: 1; }
.ms-list.dense .ms-card.s > :not(.ph) { grid-column: 2; }
.ms-list.dense .ms-card.s .ph .no, .ms-list.dense .ms-card.s .ph .pv { display: none; }
.ms-list.dense .ms-card.s .sc-price { font-size: 1.0625rem; margin-top: 0; }
.ms-list.dense .ms-card.s .addr, .ms-list.dense .ms-card.s .badges, .ms-list.dense .ms-card.s .hl { display: none; }
@media (max-width: 760px) {
  .ms-list:has(.ms-card.s) { padding: 0 16px 110px; }
  .ms-card.s { grid-template-columns: 116px minmax(0, 1fr); gap: 14px; padding: 14px 0; }
  .ms-card.s .sc-price { font-size: 1.0625rem; }
}

/* 조건 창 세부: 이름표는 말풍선 대신 평범한 글자, 빠른 선택 버튼은 다른 칩과 같은 모양 */
.ms-lbl { display: block !important; background: none !important; color: var(--ink) !important; padding: 0 !important; margin: 0 0 8px !important; font-size: .875rem !important; font-weight: 700 !important; border-radius: 0 !important; box-shadow: none !important; }
.ms-lbl::before, .ms-lbl::after { display: none !important; }
.rq button { border: 1px solid var(--line) !important; border-radius: var(--r) !important; font-weight: 500 !important; font-size: .8125rem !important; color: var(--ink-2) !important; padding: 7px 2px !important; }
.rq button:hover { border-color: var(--ink) !important; color: var(--ink) !important; }
.rq button.on { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; font-weight: 700 !important; }
.rq-k { font-weight: 400 !important; color: var(--muted) !important; }
.rq-pop { border-radius: var(--r) !important; box-shadow: none !important; border-color: var(--ink) !important; }
.fb-pop .done .fb-rst { font-weight: 500; }
.fb-pop .done button:not(.fb-rst) { border-radius: var(--r) !important; font-weight: 600 !important; }
/* 오른쪽 끝 조건 창은 화면 밖으로 나가지 않게 오른쪽에 맞춘다 */
@media (min-width: 761px) { .fb[data-k="age"] .fb-pop, .fb[data-k="st"] .fb-pop, .fb[data-k="feat"] .fb-pop, .fb[data-k="eval"] .fb-pop, .fb[data-k="staff"] .fb-pop { left: auto; right: 0; } }
.ms-card.g .lc-price { white-space: normal; overflow: visible; }

/* ================================================================ 매물 상세 창(item_detail.js) 다시 디자인: 임대 조건 명세서
 * item_detail.js 가 넣는 스타일보다 앞서도록 선택자 앞에 body 를 붙였다. 구조와 기능은 그대로, 보이는 모양만 바꾼다. */
body .idv { max-width: 1080px; border-radius: var(--r); box-shadow: none; font-size: 15px; color: var(--ink); }

/* 머리: 매물번호는 작은 글자, 제목은 크게 */
body .idv-head { padding: 28px 32px 20px; border-bottom: 0; align-items: flex-start; }
body .idv-head .no { display: block; background: none !important; color: var(--muted); font-size: .8125rem; font-weight: 400 !important; padding: 0; margin: 0 0 4px; }
body .idv-head .no::before { content: "매물번호 "; }
body .idv-head h2 { display: block; font-size: 1.625rem !important; font-weight: 800 !important; letter-spacing: -0.04em !important; line-height: 1.25; }
body .idv-head .addr { margin-top: 6px; color: var(--ink-2); font-size: .9375rem !important; }
body .idv-head .addr i { display: none; }
body .idv-head .tags { margin-top: 12px; }
body .idv .btn { height: 40px; border-color: var(--line); color: var(--ink-2); font-size: .875rem; }
body .idv .btn:hover { background: var(--surface); border-color: var(--ink); color: var(--ink); }
body .idv .btn.pri { background: var(--accent); border-color: var(--accent); color: #fff; }
body .idv .btn.pri:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }

/* 사진 + 요약 */
body .idv-hero { grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); gap: 32px; padding: 0 32px 28px; align-items: start; }
body .idv-gal { background: #EDEFED; border-radius: var(--r); }
body .idv-gal .nav { width: 40px; height: 40px; border-radius: 50%; background: rgb(255 255 255 / .92); font-size: .875rem; }
body .idv-gal .full { border-radius: 50%; background: rgb(20 32 43 / .6); width: 36px; height: 36px; font-size: .8125rem; }
body .idv-gal .cnt { background: rgb(20 32 43 / .72); border-radius: 2px; font-weight: 500; font-size: .75rem; padding: 2px 8px; }
body .idv-thumbs { gap: 6px; padding-top: 6px; }
body .idv-thumbs img { width: 84px; height: 58px; border-radius: 2px; border: 0; opacity: .5; outline: 2px solid transparent; outline-offset: -2px; }
body .idv-thumbs img.on { opacity: 1; outline-color: var(--ink); }

body .idv-sum { background: var(--surface); border: 0; border-top: 2px solid var(--ink); border-radius: 0; padding: 0; gap: 0; }
body .idv-price { gap: 0; }
body .idv-price div { border-bottom: 1px solid var(--line); padding: 13px 0; align-items: baseline; }
body .idv-price span { font-size: .9375rem; font-weight: 400; color: var(--muted); }
body .idv-price b { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.03em; color: var(--ink); }
body .idv-price div.main b { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.04em; color: var(--ink); }
body .idv-cost { background: var(--accent-wash); border: 0; border-radius: 0; padding: 14px 16px; margin-top: -1px; }
body .idv-cost span { color: var(--accent); font-size: .875rem; font-weight: 600; }
body .idv-cost small { font-weight: 400; }
body .idv-cost b { font-size: 1.375rem; font-weight: 800; letter-spacing: -0.03em; color: var(--accent); }
body .idv-cost em { color: var(--accent); font-size: .8125rem; }
body .idv-facts { grid-template-columns: 1fr; gap: 0; margin-top: 4px; }
body .idv-facts div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 10px 0; }
body .idv-facts small { color: var(--muted); font-size: .875rem; font-weight: 400; flex: none; }
body .idv-facts b { font-size: .9375rem; font-weight: 600; text-align: right; }
body .idv-pitch { background: none; border: 0; border-left: 2px solid var(--accent); border-radius: 0; padding: 2px 0 2px 12px; margin-top: 16px; color: var(--ink-2); font-size: .875rem; line-height: 1.6; }
body .idv-agent { border-top: 0; padding-top: 18px; padding-bottom: 12px; gap: 0; }
body .idv-agent .av { display: none; }
body .idv-agent b { font-size: .9375rem; }
body .idv-agent a { color: var(--accent); }
body .idv-call { min-height: 48px; background: var(--accent); border-radius: var(--r); font-size: .9375rem; }
body .idv-sms { border-radius: var(--r); background: var(--surface); color: var(--ink) !important; }
body .idv-sum .btn { height: 46px; justify-content: center; font-weight: 600 !important; }

/* 빠른 처리 줄(직원) */
body .idv-quick { margin: 0 32px 8px; background: var(--bg); border-radius: var(--r); }
body .idv-seg button.on, body .idv-tg.on { background: var(--ink); border-color: var(--ink); }

/* 구역 탭 */
body .idv-nav { padding: 0 32px; gap: 24px; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); }
body .idv-nav button { padding: 14px 0 12px; font-size: .9375rem !important; font-weight: 500 !important; color: var(--muted); border-bottom-width: 2px; }
body .idv-nav button:hover { color: var(--ink); border-bottom-color: transparent; }
body .idv-nav button.on { color: var(--ink) !important; font-weight: 700 !important; border-bottom-color: var(--ink) !important; }

/* 본문 구역: 표는 가로선만 */
body .idv-sec { padding: 36px 32px 8px; }
body .idv-sec > h3 { font-size: 1.1875rem; font-weight: 800; letter-spacing: -0.03em; margin-bottom: 16px; }
body .idv-sec > h3::before { display: none; }
body .idv-sec h4 { font-size: .9375rem; font-weight: 700; color: var(--ink); margin: 24px 0 10px; }
body .idv-cells { border: 0; border-top: 1px solid var(--ink); border-radius: 0; }
body .idv-cells td { padding: 12px 16px 12px 0; border-right: 0; border-bottom: 1px solid var(--line); }
body .idv-cells tr:last-child td { border-bottom: 1px solid var(--line); }
body .idv-cells .k { font-size: .8125rem; font-weight: 400; color: var(--muted); margin-bottom: 3px; }
body .idv-cells .v { font-size: .9375rem; font-weight: 600; }
body .idv-cells .v .idv-mut { font-weight: 400; font-size: .8125rem; }
body .idv-cells td.hl { background: none; }
body .idv-cells td.hl .v { font-size: .9375rem; }
body .idv-opts span { background: none; border: 1px solid var(--line); color: var(--ink-2); font-weight: 500; font-size: .875rem; padding: 5px 12px; }
body .idv-desc { background: none; border: 0; border-radius: 0; padding: 0; font-size: .9375rem; line-height: 1.85; color: var(--ink-2); max-width: 44em; }
body .idv-tbl th { background: none; font-weight: 400; color: var(--muted); border-bottom: 1px solid var(--ink); }
body .idv-tbl td { border-bottom-color: var(--line); }
body .idv-mut { color: var(--muted); }

/* 교통·주변 */
body .idv-map, body .idv-rv { border: 0; border-radius: var(--r); background: #EDEFED; }
body .idv-trans { border: 0; border-top: 1px solid var(--ink); border-radius: 0; padding: 14px 0 0; }
body .idv-trans h5 { font-size: .9375rem; font-weight: 700; }
body .idv-trans h5 i { display: none; }
body .idv-st, body .idv-plist div { font-size: .9375rem; border-bottom-color: var(--line); }
body .idv-bus { border-bottom-color: var(--line); }
body .idv-bus .top { font-size: .9375rem; font-weight: 600; }
body .idv-fchips button { font-size: .875rem; font-weight: 500; padding: 7px 13px; color: var(--ink-2); }
body .idv-fchips button i { display: none; }
body .idv-fchips button.on { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 600; }
body .idv-rvbig { box-shadow: none; border: 1px solid var(--ink); font-weight: 600; }
body .idv-card { border: 0; border-top: 1px solid var(--ink); border-radius: 0; padding: 18px 0; }
body .idv-card > h5 { font-size: 1rem; font-weight: 700; }
body .idv-card > h5 i { display: none; }
body .idv-card input, body .idv-card textarea { border-radius: var(--r) !important; border-color: var(--line) !important; font-family: inherit !important; }
body .idv-inner { background: var(--bg); border: 0; }
body .idv-two { gap: 40px; }

/* 휴대폰 아래 전화 줄 */
body .idv-callbar { box-shadow: none; border-top: 1px solid var(--line); }

@media (max-width: 980px) {
  body .idv-hero { padding: 0 20px 20px; gap: 20px; }
  body .idv-head { padding: 20px 64px 16px 20px; }
  body .idv-sec { padding: 28px 20px 8px; }
  body .idv-nav { padding: 0 20px; gap: 20px; }
  body .idv-quick { margin: 0 20px 8px; }
  body .idv-sum { padding: 0; }
  body .idv-two { gap: 8px; }
}
@media (max-width: 640px) {
  body .idv-cells td { padding: 10px 0; }
  body .idv-head h2 { font-size: 1.375rem !important; }
}

/* 휴대폰: 매물정보 칸을 한 줄에 두 개씩(한 개씩 세우면 너무 길어진다) */
@media (max-width: 640px) {
  body .idv-cells tbody { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; width: 100%; }
  body .idv-cells tr { display: contents; }
  body .idv-cells td { display: block; width: auto; }
  body .idv-cells td[colspan="2"], body .idv-cells td[colspan="3"] { grid-column: 1 / -1; }
}

.ms-sub[hidden] { display: none !important; }
