/* MONAR 시제품 — 딥 네이비 + 골드, 모바일 우선. 시안 색감 참고, 레이아웃은 새로 구성 */
:root {
  --navy: #071E45;
  --navy-2: #0F2B5B;
  --blue: #0B3B8C;
  --gold: #C9A227;
  --gold-soft: #F6EFD8;
  --paper: #F3F5F9;
  --card: #FFFFFF;
  --ink: #101A2E;
  --muted: #6A7387;
  --line: #E2E7EF;
  --green: #1F8A4C;
  --green-soft: #E5F4EB;
  --red: #B83A2E;
  --red-soft: #FBEAE7;
  --amber: #B5641A;
  --amber-soft: #FCEFE1;
  --serif: "Cormorant Garamond", "AppleMyungjo", serif;
  --sans: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: #E6EAF1; color: var(--ink); font-family: var(--sans); font-size: 14px; line-height: 1.5; word-break: keep-all; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; border: 0; background: none; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
a { color: inherit; text-decoration: none; }
.num { font-family: var(--serif); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.tiny { font-size: 11px; }

/* 시제품 모드 바 */
#proto-bar { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: #0B1220; color: var(--on-navy-2); font-size: 12px; padding: 8px 12px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: center; }
#proto-bar .label { color: var(--on-navy-2); margin-right: 4px; }
#proto-bar .seg { display: inline-flex; background: #1A2336; border-radius: 999px; padding: 3px; }
#proto-bar .seg button { padding: 5px 12px; border-radius: 999px; color: var(--on-navy-2); }
#proto-bar .seg button.on { background: var(--gold); color: var(--ink); font-weight: 700; }
#proto-bar select { background: #1A2336; border: 0; border-radius: 6px; padding: 5px 8px; color: var(--on-navy); }
#proto-bar .reset { color: var(--on-navy-2); text-decoration: underline; padding: 4px 6px; }

/* 화면 프레임 */
.phone { max-width: 430px; margin: 0 auto; min-height: calc(100vh - 44px); background: var(--paper); position: relative; padding-bottom: 88px; box-shadow: 0 0 0 1px #d8dee8; }
.wide { max-width: 1120px; margin: 0 auto; padding: 24px 20px 64px; }

/* 헤더 */
.topbar { background: var(--navy); color: #fff; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.logo { font-family: var(--serif); font-weight: 700; font-size: 22px; letter-spacing: .18em; }
.logo small { font-family: var(--sans); font-size: 10px; letter-spacing: .08em; color: var(--gold); display: block; margin-top: -2px; }
.topbar .title { font-weight: 700; font-size: 16px; }
.icon-btn { color: #fff; font-size: 20px; padding: 2px 6px; }

/* 히어로 */
.hero { background: linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%); color: #fff; padding: 8px 20px 28px; }
.eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: var(--gold); }
.hero h1 { font-size: 28px; line-height: 1.3; margin: 10px 0 10px; font-weight: 800; letter-spacing: -.02em; text-wrap: balance; }
.hero h1 em { font-style: normal; color: var(--gold); }
.hero p { margin: 0 0 16px; color: #C3CEE3; }
.pills { display: flex; flex-wrap: wrap; gap: 6px; }
.pill { font-size: 11.5px; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(201,162,39,.6); color: #F1DFA6; }

/* 섹션 */
.section { padding: 20px 16px 4px; }
.sec-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; gap: 8px; }
.sec-head h2 { font-size: 16px; margin: 0; font-weight: 800; }
.card { background: var(--card); border-radius: 14px; border: 1px solid var(--line); }
.card.pad { padding: 16px; }
.stack { display: grid; gap: 10px; }
.row { display: flex; align-items: center; gap: 10px; }
.between { justify-content: space-between; }
.grow { flex: 1; min-width: 0; }

/* 실시간 리스트 */
.live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #E2574C; margin-right: 6px; animation: pulse 1.6s infinite; }
@keyframes pulse { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .live-dot { animation: none; } }
.item-row { display: flex; gap: 12px; align-items: center; padding: 12px 14px; }
.item-row + .item-row { border-top: 1px solid var(--line); }
.thumb { width: 52px; height: 52px; border-radius: 10px; background: linear-gradient(135deg, #EDE4CC, #CDB98A); display: grid; place-items: center; font-size: 22px; flex: none; overflow: hidden; }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.item-name { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.grade { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 6px; font-family: var(--serif); font-weight: 700; font-size: 14px; background: #EAF0FA; color: var(--blue); padding: 0 4px; }
.timer { font-variant-numeric: tabular-nums; font-weight: 700; font-size: 12.5px; color: var(--amber-ink); background: var(--amber-soft); padding: 3px 8px; border-radius: 6px; white-space: nowrap; }

/* 배지·상태 */
.badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.b-gold { background: var(--gold); color: var(--ink); }
.b-goldsoft { background: var(--gold-soft); color: var(--notice-ink); }
.b-green { background: var(--green-soft); color: var(--green); }
.b-red { background: var(--red-soft); color: var(--red-ink); }
.b-blue { background: #E7EEFA; color: var(--blue); }
.b-gray { background: #EEF1F5; color: var(--muted); }
.b-amber { background: var(--amber-soft); color: var(--amber-ink); }

/* 이용 방법 */
.steps3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.step3 { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 14px 8px; text-align: center; }
.step3 .ico { font-size: 22px; }
.step3 b { display: block; margin-top: 6px; font-size: 13px; }
.step3 span { font-size: 11px; color: var(--muted); }

/* 회원사 카드 */
.dealer-scroll { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }
.dealer-card { flex: 0 0 210px; scroll-snap-align: start; padding: 14px; }
.avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; flex: none; font-size: 16px; }
.stars { color: var(--gold); letter-spacing: 1px; }
.metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 10px; }
.metric { background: var(--paper); border-radius: 8px; padding: 6px; text-align: center; }
.metric b { display: block; font-size: 13px; }
.metric span { font-size: 10.5px; color: var(--muted); }

/* 후기 */
.review { padding: 14px; }
.review + .review { border-top: 1px solid var(--line); }
.gain { color: var(--green); font-weight: 700; }

/* 하단 CTA, 탭바 */
.cta-fixed { position: fixed; left: 50%; transform: translateX(-50%); bottom: 64px; width: min(430px, 100%); padding: 0 16px; z-index: 20; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 12px; padding: 13px 18px; font-weight: 800; font-size: 15px; width: 100%; }
.btn-gold { background: linear-gradient(180deg, #D8B23A, var(--gold)); color: var(--ink); box-shadow: 0 6px 16px rgba(201,162,39,.35); }
.btn-navy { background: var(--blue); color: #fff; }
.btn-line { background: #fff; border: 1px solid var(--line); color: var(--ink); }
.btn-red { background: var(--red); color: #fff; }
.btn-sm { padding: 8px 12px; font-size: 13px; border-radius: 9px; width: auto; }
.btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.tabbar { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: min(430px, 100%); background: #fff; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(var(--tabs, 3), 1fr); z-index: 30; padding-bottom: env(safe-area-inset-bottom, 0px); }
.tabbar a { text-align: center; padding: 8px 0 10px; font-size: 11px; color: var(--muted); }
.tabbar a .ti { display: block; font-size: 19px; line-height: 1.3; }
.tabbar a.on { color: var(--navy); font-weight: 800; }
.tabbar a .count { background: var(--red); color: #fff; border-radius: 999px; font-size: 10px; padding: 0 5px; margin-left: 2px; }

/* 폼 */
.form { padding: 16px; display: grid; gap: 18px; }
.field label, .flabel { font-weight: 800; font-size: 14px; display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.flabel span, .field label span { font-weight: 500; font-size: 11.5px; color: var(--muted); }
.input, select.input, textarea.input { width: 100%; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; }
textarea.input { min-height: 72px; resize: vertical; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.photo-slot { aspect-ratio: 4 / 3; border: 1.5px dashed #C4CCDA; border-radius: 12px; background: #fff; display: grid; place-items: center; text-align: center; font-size: 12px; color: var(--muted); position: relative; overflow: hidden; }
.photo-slot input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.photo-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo-slot.done { border: 1.5px solid var(--green); }
.photo-slot .tag { position: absolute; left: 6px; bottom: 6px; background: rgba(7,30,69,.75); color: #fff; font-size: 11px; padding: 2px 7px; border-radius: 999px; z-index: 1; }
.choice3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.choice { border: 1px solid var(--line); background: #fff; border-radius: 12px; padding: 10px 6px; text-align: center; }
.choice b { font-family: var(--serif); font-size: 22px; display: block; color: var(--blue); }
.choice span { font-size: 11px; color: var(--muted); }
.choice.on { border: 2px solid var(--blue); background: #EEF3FC; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 12px; font-size: 12.5px; }
.chip.on { border-color: var(--gold); background: var(--gold-soft); color: var(--notice-ink); font-weight: 700; }
.ai-box { background: #F7F9FD; border: 1px solid #DCE5F5; border-radius: 12px; padding: 12px 14px; font-size: 12.5px; display: grid; gap: 4px; }
.ok { color: var(--green); font-weight: 700; }
.ng { color: var(--red-ink); font-weight: 700; }

/* 거래 상세 */
.progress { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; padding: 14px 16px 4px; }
.progress div { text-align: center; font-size: 10.5px; color: var(--muted); }
.progress div::before { content: ""; display: block; height: 4px; border-radius: 4px; background: #DCE2EC; margin-bottom: 6px; }
.progress div.done { color: var(--navy); font-weight: 700; }
.progress div.done::before { background: var(--gold); }
.range { position: relative; height: 6px; background: #E4E9F2; border-radius: 6px; margin: 14px 4px 6px; }
.range .tick { position: absolute; top: -5px; width: 2px; height: 16px; border-radius: 2px; }
.bid { display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.bid.top { border: 2px solid var(--gold); background: #FFFCF2; }
.rank { width: 26px; height: 26px; border-radius: 8px; background: #EEF2F8; color: var(--blue); font-weight: 800; display: grid; place-items: center; flex: none; }
.bid.top .rank { background: var(--gold); color: var(--ink); }
.amount { font-family: var(--serif); font-weight: 700; font-size: 22px; color: var(--blue); white-space: nowrap; }
.amount small { font-family: var(--sans); font-size: 12px; font-weight: 600; color: var(--muted); margin-left: 1px; }
.notice { background: #FFF8E6; border: 1px solid #F0DFA8; border-radius: 12px; padding: 12px 14px; font-size: 12.5px; color: var(--notice-ink); }
.notice.red { background: var(--red-soft); border-color: #F1C7C1; color: var(--red-ink); }
.notice.green { background: var(--green-soft); border-color: #BFE3CD; color: var(--green); }
.done-card { background: linear-gradient(160deg, #0E3A26, #1F8A4C); color: #fff; border-radius: 16px; padding: 20px; }
.done-card .num { font-size: 34px; }
.demo { border: 1px dashed #B8C2D6; border-radius: 12px; padding: 10px 12px; background: #F8FAFD; font-size: 12px; color: var(--muted); display: grid; gap: 8px; }
.demo b { color: var(--ink); }
.demo .row { flex-wrap: wrap; }

/* 모달 */
.modal-wrap { position: fixed; inset: 0; background: rgba(7,15,30,.55); z-index: 80; display: grid; place-items: end center; }
.modal { background: #fff; width: min(430px, 100%); border-radius: 18px 18px 0 0; padding: 20px 18px calc(18px + env(safe-area-inset-bottom, 0px)); max-height: 88vh; overflow: auto; display: grid; gap: 14px; }
.modal h3 { margin: 0; font-size: 18px; }
.check { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; }
.check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--blue); }
#toast { position: fixed; left: 50%; bottom: 140px; transform: translateX(-50%); background: #101A2E; color: #fff; padding: 10px 16px; border-radius: 10px; z-index: 90; font-size: 13px; box-shadow: 0 8px 20px rgba(0,0,0,.25); }

/* 별점 입력 */
.star-input { display: flex; gap: 2px; }
.star-input button { font-size: 24px; color: var(--faint); padding: 0 2px; }
.star-input button.on { color: var(--gold); }

/* 관리자 */
.admin-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.admin-head h1 { margin: 4px 0 0; font-size: 24px; }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 20px; }
.kpi { padding: 16px; }
.kpi b { display: block; font-size: 26px; margin-top: 4px; color: var(--navy); }
.kpi span { font-size: 12px; color: var(--muted); }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.admin-grid > .full { grid-column: 1 / -1; }
.tbl-wrap { overflow-x: auto; }
table.tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.tbl th { text-align: left; font-size: 11.5px; color: var(--muted); font-weight: 600; padding: 10px 12px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.tbl td { padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.tbl td.r, .tbl th.r { text-align: right; font-variant-numeric: tabular-nums; }
.tbl tr:last-child td { border-bottom: 0; }
.panel-h { padding: 14px 16px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.panel-h h3 { margin: 0; font-size: 15px; }
.empty { padding: 22px 16px; text-align: center; color: var(--muted); font-size: 13px; }
@media (max-width: 820px) { .admin-grid { grid-template-columns: 1fr; } }

/* ---------- 2차: 로그인·채팅·안내·관리자 메뉴 ---------- */
.auth { padding: 28px 20px; display: grid; gap: 16px; }
.auth h2 { margin: 0; font-size: 22px; letter-spacing: -.02em; }
.auth .lead { color: var(--muted); margin: -8px 0 0; }
.demo-hint { font-size: 12px; color: var(--amber-ink); background: var(--amber-soft); border-radius: 8px; padding: 8px 10px; }
.agree-box { border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 12px 14px; display: grid; gap: 10px; }
.agree-box .all { font-weight: 800; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.agree-box .check a { color: var(--muted); text-decoration: underline; margin-left: auto; font-size: 11.5px; }
.menu-list { background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.menu-list a, .menu-list button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 14px 16px; text-align: left; }
.menu-list > * + * { border-top: 1px solid var(--line); }
.toggle { appearance: none; width: 42px; height: 24px; border-radius: 999px; background: #CDD4E0; position: relative; cursor: pointer; flex: none; transition: background .15s; }
.toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: left .15s; }
.toggle:checked { background: var(--blue); }
.toggle:checked::after { left: 21px; }

/* 시세 티커 */
.ticker { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }
.tick-card { flex: 0 0 168px; scroll-snap-align: start; padding: 12px; }
.tick-card .amount { font-size: 20px; }

/* 랭킹 */
.seg-tabs { display: flex; gap: 6px; overflow-x: auto; margin-bottom: 10px; }
.seg-tabs button { white-space: nowrap; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 12px; font-size: 12.5px; }
.seg-tabs button.on { background: var(--navy); color: #fff; border-color: var(--navy); font-weight: 700; }
.rank-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.rank-row + .rank-row { border-top: 1px solid var(--line); }
.rank-no { width: 22px; font-family: var(--serif); font-weight: 700; font-size: 20px; color: var(--gold); text-align: center; }

/* 채팅 */
.chat { display: flex; flex-direction: column; gap: 8px; padding: 16px; min-height: 52vh; }
.bubble { max-width: 78%; padding: 9px 12px; border-radius: 14px; font-size: 13.5px; line-height: 1.45; word-break: break-word; }
.bubble.me { align-self: flex-end; background: var(--blue); color: #fff; border-bottom-right-radius: 4px; }
.bubble.them { align-self: flex-start; background: #fff; border: 1px solid var(--line); border-bottom-left-radius: 4px; }
.bubble.sys { align-self: center; background: #E9EDF4; color: var(--muted); font-size: 12px; border-radius: 999px; padding: 5px 12px; }
.bubble time { display: block; font-size: 10.5px; opacity: .7; margin-top: 2px; }
.chat-input { position: sticky; bottom: 64px; display: flex; gap: 8px; padding: 10px 12px; background: #fff; border-top: 1px solid var(--line); }
.chat-input input { flex: 1; min-width: 0; }
.thread-row { display: flex; gap: 12px; align-items: center; padding: 12px 14px; }
.thread-row + .thread-row { border-top: 1px solid var(--line); }
.unread { width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex: none; }

/* 안내·FAQ */
details.faq { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 0 14px; }
details.faq + details.faq { margin-top: 8px; }
details.faq summary { cursor: pointer; padding: 14px 0; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
details.faq summary::after { content: "+"; color: var(--muted); }
details.faq[open] summary::after { content: "−"; }
details.faq p { margin: 0 0 14px; color: var(--ink-2); font-size: 13px; }
.guide-step { display: flex; gap: 12px; padding: 14px; }
.guide-step + .guide-step { border-top: 1px solid var(--line); }
.guide-step .n { width: 28px; height: 28px; border-radius: 50%; background: var(--navy); color: var(--gold); font-weight: 800; display: grid; place-items: center; flex: none; font-size: 13px; }

/* 회원사 공개 프로필 */
.cover { height: 120px; background: linear-gradient(135deg, var(--navy), var(--blue)); position: relative; }
.cover .avatar { position: absolute; left: 16px; bottom: -28px; border: 3px solid #fff; }
.store-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.store-photos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }

/* 단계 폼 */
.stepper { display: flex; gap: 6px; padding: 14px 16px 0; }
.stepper div { flex: 1; height: 4px; border-radius: 4px; background: #DCE2EC; }
.stepper div.on { background: var(--gold); }
.upload-row { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; position: relative; }
.upload-row input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-row .st { margin-left: auto; font-size: 12px; }

/* 관리자 메뉴 */
.admin-nav { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.admin-nav a { padding: 10px 14px; font-weight: 600; color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.admin-nav a.on { color: var(--navy); border-bottom-color: var(--gold); }
.admin-nav .count { background: var(--red); color: #fff; border-radius: 999px; font-size: 10.5px; padding: 0 6px; margin-left: 4px; }
.admin-login { max-width: 380px; margin: 60px auto; padding: 28px; display: grid; gap: 14px; }
.tbl tr.click { cursor: pointer; }
.tbl tr.click:hover td { background: #F7F9FD; }

/* ---------- 3차: 디자인 다듬기 ---------- */
body { background: #E9EDF3; }
.phone { background: #F5F6F9; }
.card { border-radius: 16px; border-color: #E5E9F0; box-shadow: 0 1px 2px rgba(7,30,69,.04), 0 6px 18px -12px rgba(7,30,69,.18); }
.menu-list { border-radius: 16px; border-color: #E5E9F0; box-shadow: 0 1px 2px rgba(7,30,69,.04); }
.ic { display: inline-block; vertical-align: -0.2em; flex: none; }
.sec-head h2 { font-size: 17px; letter-spacing: -.02em; }
.section { padding: 24px 16px 4px; }
.link { color: var(--blue); font-weight: 700; }
.link::after { content: " →"; }

/* 헤더 */
.topbar { padding: 14px 18px; min-height: 56px; }
.topbar .title { font-size: 16px; letter-spacing: -.01em; }
.logo { font-size: 21px; letter-spacing: .22em; }
.logo small { letter-spacing: .14em; font-size: 9.5px; margin-top: 1px; }

/* 히어로 */
.hero { padding: 12px 20px 26px; background: radial-gradient(120% 90% at 100% 0%, #1A3A73 0%, rgba(26,58,115,0) 60%), linear-gradient(180deg, var(--navy), #0C2756); }
.hero h1 { font-size: 30px; line-height: 1.28; margin: 12px 0 10px; }
.hero p { color: #BFCBE2; line-height: 1.6; }
.pill { border-color: rgba(201,162,39,.45); background: rgba(201,162,39,.08); }
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 18px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 14px; }
.hero-stats div { display: grid; gap: 2px; }
.hero-stats div + div { border-left: 1px solid rgba(255,255,255,.12); padding-left: 14px; }
.hero-stats b { font-size: 24px; color: #fff; }
.hero-stats span { font-size: 11.5px; color: #9FB0CF; }

/* 상품 썸네일: 브랜드 타일 */
.thumb { border-radius: 12px; }
.thumb.mono { background: linear-gradient(150deg, var(--tone), color-mix(in srgb, var(--tone) 70%, #000)); color: var(--on-navy); padding: 4px; text-align: center; }
.thumb.mono span { font-family: var(--serif); font-weight: 700; font-size: 9.5px; letter-spacing: .1em; line-height: 1.15; }
.tick-card .thumb.mono { width: 100%; height: 72px; }
.tick-card .thumb.mono span { font-size: 12px; }

/* 이용 방법 */
.step3 { border-radius: 16px; padding: 16px 8px 14px; box-shadow: 0 1px 2px rgba(7,30,69,.04); border-color: #E5E9F0; }
.step3 .ico { width: 42px; height: 42px; border-radius: 50%; margin: 0 auto; display: grid; place-items: center; background: var(--navy); color: var(--gold); }
.step3 b { margin-top: 8px; }

/* 버튼 */
.btn { border-radius: 14px; letter-spacing: -.01em; transition: transform .08s ease, box-shadow .15s ease; }
.btn:active { transform: translateY(1px); }
.btn-navy { background: var(--navy); }
.btn-navy:hover { background: #0C2A5C; }
.btn-gold { background: linear-gradient(180deg, #DDBA4C, #C29A22); color: var(--ink); box-shadow: 0 8px 20px -8px rgba(194,154,34,.7); }
.btn-line { border-color: #DCE2EC; }
.btn-sm { border-radius: 10px; }
.btn-sm .ic { margin-right: 2px; }

/* 탭바 */
.tabbar { border-top: 1px solid #E5E9F0; box-shadow: 0 -6px 18px -14px rgba(7,30,69,.35); }
.tabbar a { padding: 8px 0 10px; font-size: 10.5px; position: relative; }
.tabbar a .ti { display: grid; place-items: center; height: 26px; }
.tabbar a.on { color: var(--navy); }
.tabbar a.on .ti { color: var(--navy); }
.tabbar a.on::before { content: ""; position: absolute; top: 0; left: 50%; width: 22px; height: 2px; margin-left: -11px; background: var(--gold); border-radius: 0 0 2px 2px; }
.tabbar a .count { position: absolute; top: 4px; left: calc(50% + 6px); margin: 0; }

/* 사진 슬롯 */
.photo-slot { border-radius: 14px; border-color: #C9D2E1; background: #FBFCFE; }
.slot-empty { color: var(--muted); display: inline-grid; justify-items: center; gap: 4px; }

/* 상태 아이콘 */
.state-ic { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto; background: var(--amber-soft); color: var(--amber-ink); }
.state-ic.rejected, .state-ic.suspended { background: var(--red-soft); color: var(--red-ink); }

/* 입찰 카드 */
.bid { padding: 14px; }
.bid.top { box-shadow: 0 10px 24px -14px rgba(194,154,34,.8); }
.amount { letter-spacing: .01em; }

/* 폼 */
.input, select.input, textarea.input { border-radius: 12px; border-color: #DCE2EC; padding: 12px 13px; }
.input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(11,59,140,.12); }
.notice { border-radius: 14px; line-height: 1.55; }
.chip { padding: 7px 13px; }

/* ---------- 4차: 회원사 업무 화면 ---------- */
.thumb-wrap { position: relative; flex: none; }
.thumb-wrap .thumb { width: 76px; height: 76px; }
.thumb-wrap .ov { position: absolute; left: 4px; top: 4px; font-size: 10px; padding: 1px 6px; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.tag-sm { font-size: 11px; border: 1px solid var(--line); border-radius: 6px; padding: 1px 6px; color: var(--ink-2); background: #fff; }
.grade.g-N { background: #FDE8E6; color: var(--red-ink); }
.grade.g-S { background: #FDEEDC; color: var(--amber-ink); }
.grade.g-A { background: #E4EEFB; color: var(--blue); }
.grade.g-B { background: #E3F4EA; color: var(--green); }
.dtabs { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border-bottom: 1px solid var(--line); }
.dtabs > * { padding: 13px 0 11px; text-align: center; font-weight: 700; color: var(--muted); border-bottom: 2px solid transparent; font-size: 14px; }
.dtabs > .on { color: var(--navy); border-bottom-color: var(--navy); }
.dtabs span { font-size: 11px; color: var(--muted); font-weight: 600; margin-left: 2px; }
.search { position: relative; }
.search .ic { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.search .input { padding-left: 38px; background: #EEF2F7; border-color: transparent; }
.icon-box { width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; position: relative; flex: none; color: var(--ink); }
.icon-box.on { border-color: var(--navy); color: var(--navy); }
.icon-box .count { position: absolute; top: -4px; right: -4px; background: var(--red); color: #fff; border-radius: 999px; font-size: 10px; padding: 0 5px; }
select.sort { border: 0; background: none; font-weight: 700; font-size: 13px; color: var(--ink); }
.gallery-wrap { position: relative; background: #111; }
.gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gallery::-webkit-scrollbar { display: none; }
.gallery figure { flex: 0 0 100%; margin: 0; scroll-snap-align: start; position: relative; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.gallery figcaption { position: absolute; left: 10px; bottom: 10px; color: #fff; background: rgba(0,0,0,.45); font-size: 11px; padding: 2px 8px; border-radius: 999px; }
.g-count { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); background: rgba(0,0,0,.55); color: #fff; font-size: 12px; padding: 3px 10px; border-radius: 999px; font-variant-numeric: tabular-nums; }
.kvs { display: grid; gap: 10px; }
.kv { display: flex; justify-content: space-between; gap: 12px; font-size: 13.5px; }
.kv span { color: var(--muted); flex: none; }
.kv b { font-weight: 600; text-align: right; word-break: break-all; }
.memo-box { background: #F3F5F9; border: 1px solid var(--line); border-radius: 12px; padding: 14px; font-size: 13.5px; white-space: pre-wrap; line-height: 1.6; }
.bidbar { position: fixed; left: 50%; transform: translateX(-50%); bottom: 64px; width: min(430px, 100%); background: #fff; border-top: 1px solid var(--line); padding: 10px 14px; display: flex; align-items: center; gap: 8px; z-index: 25; box-shadow: 0 -8px 20px -16px rgba(7,30,69,.4); }
.bidbar .btn { width: auto; }
.ship-chip { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; border: 1px solid var(--line); border-radius: 10px; padding: 4px 10px; font-size: 12px; background: #fff; }
.bell { color: #fff; position: relative; display: grid; place-items: center; }
.bell .count { position: absolute; top: -4px; right: -6px; background: var(--red); color: #fff; border-radius: 999px; font-size: 10px; padding: 0 5px; }
.cal-strip { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.cal-day { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 6px 0; text-align: center; display: grid; gap: 1px; position: relative; }
.cal-day span { font-size: 10.5px; color: var(--muted); }
.cal-day b { font-size: 15px; }
.cal-day.today { border-color: var(--navy); background: #EEF3FC; }
.cal-day i { font-style: normal; position: absolute; top: 3px; right: 4px; background: var(--gold); color: var(--ink); font-size: 9.5px; font-weight: 800; border-radius: 999px; padding: 0 4px; }
.extra-photos { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.xp { width: 64px; height: 64px; border-radius: 10px; overflow: hidden; position: relative; background: #fff; border: 1px solid var(--line); }
.xp img { width: 100%; height: 100%; object-fit: cover; }
.xp button { position: absolute; top: 2px; right: 2px; width: 18px; height: 18px; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 12px; line-height: 1; }
.xp.add { display: grid; place-items: center; align-content: center; gap: 2px; color: var(--muted); font-size: 10.5px; border-style: dashed; cursor: pointer; }
.xp.add input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.tick-comp { margin-top: 8px; font-size: 13px; color: var(--muted); }
.tick-comp b { font-family: var(--serif); font-size: 24px; color: var(--navy); margin-right: 2px; }
.tick-card .gain b { font-weight: 800; }
.btn-kakao { background: #FEE500; color: var(--ink); }
.btn-naver { background: #03C75A; color: #fff; }
.btn-apple { background: #000; color: #fff; }
.btn-kakao svg, .btn-naver svg, .btn-apple svg { margin-right: 4px; }
.or { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 12px; }
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.auth .logo { color: var(--navy); font-size: 26px; }
.social-badge { width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; margin: 0 auto; }
.social-badge svg { width: 30px; height: 30px; }
.social-badge.kakao { background: #FEE500; color: var(--ink); }
.social-badge.naver { background: #03C75A; color: #fff; }
.social-badge.apple { background: #000; color: #fff; }
.spinner { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #C9D2E3; border-top-color: var(--blue); animation: spin .8s linear infinite; flex: none; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner { animation-duration: 2.4s; } }
.shot #proto-bar, .shot .demo, .shot .demo-hint { display: none !important; }
.shot .phone { min-height: 100vh; }
.shot .phone { max-width: none; box-shadow: none; }
.shot .tabbar, .shot .cta-fixed, .shot .bidbar { width: 100%; }

/* =====================================================================
   B 라운지 확정안 (젠스파크 디자인 결과 적용)
   넓은 여백 · 큰 라운드 · 부드러운 그림자 · 오프화이트 · 세리프 숫자
   ===================================================================== */
@font-face { font-family: 'Pretendard'; font-weight: 45 920; font-display: swap; src: url('fonts/PretendardVariable.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif KR'; font-weight: 600; font-display: swap; src: url('fonts/NotoSerifKR-latin-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2191, U+2193, U+2212; }
@font-face { font-family: 'Noto Serif KR'; font-weight: 600; font-display: swap; src: url('fonts/NotoSerifKR-600.woff2') format('woff2'); unicode-range: U+1100-11FF, U+3130-318F, U+AC00-D7A3, U+3000-303F, U+FF00-FFEF; }
@font-face { font-family: 'Noto Serif KR'; font-weight: 700; font-display: swap; src: url('fonts/NotoSerifKR-latin-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2191, U+2193, U+2212; }
@font-face { font-family: 'Noto Serif KR'; font-weight: 700; font-display: swap; src: url('fonts/NotoSerifKR-700.woff2') format('woff2'); unicode-range: U+1100-11FF, U+3130-318F, U+AC00-D7A3, U+3000-303F, U+FF00-FFEF; }

:root {
  --navy: #071E45; --navy-2: #0C2A57; --blue: #1B4C8F;
  --gold: #C9A227; --gold-hi: #D9B84C; --gold-ink: #8A6E15; --gold-soft: #F4EEDA;
  --paper: #F7F6F2; --paper-2: #F1EFE9; --card: #FFFFFF;
  --ink: #101826; --muted: #6A6E77; --faint: #9AA0A9; --line: #E6E2D8; --line-2: #F0EEE8;
  --green: #1D6B4F; --green-soft: #E4F0EA; --red: #C4462F; --red-soft: #FBE9E5; --amber: #B4622A; --amber-soft: #FCEFE1;
  --serif: 'Noto Serif KR', 'AppleMyungjo', serif;
  --sans: 'Pretendard', -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --r-card: 20px; --r-img: 14px; --shadow: 0 10px 28px rgba(7,30,69,.07);
}
body { background: #ECEAE4; font-size: 13.5px; letter-spacing: -0.005em; }
.phone { background: var(--paper); box-shadow: 0 0 0 1px #E2DED4; }
.num, .amount, .hero-stats b, .kpi b, .rank-no, .tick-comp b, .grade { font-family: var(--serif); font-variant-numeric: tabular-nums; }
.muted { color: var(--muted); }
.gold-ink { color: var(--gold-ink) !important; }

/* 상단 바 */
.topbar { background: var(--navy); color: var(--on-navy); height: 58px; min-height: 58px; padding: 0 16px; }
.topbar .title { font-size: 15.5px; font-weight: 600; letter-spacing: -0.02em; }
.topbar.light { background: transparent; color: var(--navy); height: 64px; padding: 0 24px; }
.logo { font-family: var(--serif); font-weight: 600; letter-spacing: .3em; font-size: 19px; display: inline-flex; align-items: baseline; gap: 8px; }
.logo small { font-family: var(--sans); font-size: 9.5px; font-weight: 600; letter-spacing: .16em; color: var(--gold-hi); margin: 0; display: inline; }
.topbar.light .logo small { color: var(--gold-ink); }

/* 히어로: 라운지 카드 */
.hero-wrap { padding: 4px 16px 0; }
.hero { position: relative; overflow: hidden; background: var(--navy); border-radius: 28px; padding: 24px 22px 22px; color: #F3F0E8; }
.hero .deco { position: absolute; border-radius: 50%; border: 1px solid rgba(201,162,39,.22); pointer-events: none; }
.hero .deco.d1 { right: -30px; top: -30px; width: 150px; height: 150px; }
.hero .deco.d2 { right: 6px; top: 30px; width: 90px; height: 90px; border-color: rgba(201,162,39,.14); }
.hero .eyebrow { color: var(--gold-hi); position: relative; }
.hero h1 { font-family: var(--serif); font-weight: 600; font-size: 29px; line-height: 1.32; letter-spacing: -0.02em; margin: 14px 0 12px; position: relative; }
.hero h1 em { color: var(--gold-hi); }
.hero p { color: rgba(243,240,232,.72); position: relative; }
.pill { border: 1px solid rgba(243,240,232,.22); background: rgba(255,255,255,.06); color: #F3F0E8; height: 30px; display: inline-flex; align-items: center; padding: 0 12px; font-size: 11px; }
.hero-stats { border-top-color: rgba(243,240,232,.16); margin-top: 20px; padding-top: 18px; }
.hero-stats div + div { border-left-color: rgba(243,240,232,.16); }
.hero-stats b { font-weight: 600; font-size: 26px; color: #F3F0E8; }
.hero-stats span { color: rgba(243,240,232,.55); font-size: 11px; }

/* 섹션 · 카드 */
.section { padding: 38px 24px 0; }
.sec-head { margin-bottom: 14px; align-items: flex-end; }
.sec-head h2 { font-size: 16px; font-weight: 700; letter-spacing: -0.025em; }
.sec-head > span, .sec-head .small { font-size: 11.5px; color: var(--muted); }
.card { border: 0; border-radius: var(--r-card); box-shadow: var(--shadow); background: #fff; }
.menu-list { border: 0; border-radius: var(--r-card); box-shadow: var(--shadow); }
.menu-list > * + * { border-top-color: var(--line-2); }
.item-row { padding: 13px 16px; min-height: 76px; }
.item-row + .item-row { border-top-color: var(--line-2); }
.item-row.hot { background: #FBF8EF; }
.item-name { font-size: 13.5px; font-weight: 600; letter-spacing: -0.015em; }
.review + .review, .thread-row + .thread-row, .rank-row + .rank-row { border-top-color: var(--line-2); }
.link { color: var(--muted); font-weight: 500; }

/* 사진 자리 */
.thumb { width: 50px; height: 50px; border-radius: 15px; background: #fff; }
.thumb.ph { border: 1px solid var(--line); background: repeating-linear-gradient(135deg, #EFECE4 0 6px, #F8F6F1 6px 12px); display: grid; place-items: center; }
.thumb.ph span { font-size: 8.5px; font-weight: 600; letter-spacing: .06em; color: var(--muted); }
.thumb-wrap .thumb { width: 76px; height: 76px; border-radius: var(--r-img); }
.tick-card .thumb { width: 100%; height: 70px; border-radius: 14px; }
.photo-slot { border-radius: var(--r-img); border: 1px dashed #D8D3C6; background: #FBFAF7; }
.photo-slot.done { border: 1px solid var(--line); }

/* 시간 · 등급 · 배지 */
.timer { height: 28px; display: inline-flex; align-items: center; padding: 0 11px; border-radius: 999px; background: var(--amber-soft); color: var(--amber-ink); font-family: var(--serif); font-weight: 600; font-size: 12.5px; }
.timer.soft { background: var(--paper-2); color: var(--ink); }
.timer.hot { background: var(--navy); color: var(--gold-soft); }
.grade { min-width: 22px; height: 22px; border-radius: 7px; font-size: 11.5px; font-weight: 700; background: #E7EDF7; color: var(--blue); }
.grade.g-S { background: var(--gold-soft); color: var(--gold-ink); }
.grade.g-A { background: #E7EDF7; color: var(--blue); }
.grade.g-B { background: var(--paper-2); color: var(--muted); }
.grade.g-N { background: var(--navy); color: var(--gold-soft); }
.badge { height: 22px; border-radius: 7px; padding: 0 9px; font-size: 11px; font-weight: 600; }
.b-gold { background: var(--gold); color: #fff; }
.b-goldsoft { background: var(--gold-soft); color: var(--gold-ink); }
.b-blue { background: #E7EDF7; color: var(--blue); }
.b-gray { background: var(--paper-2); color: var(--muted); }
.b-green { background: var(--green-soft); color: var(--green); }
.b-red { background: var(--red-soft); color: var(--red-ink); }
.b-amber { background: var(--amber-soft); color: var(--amber-ink); }
.tag-sm { border-color: var(--line); color: var(--muted); border-radius: 7px; }

/* 버튼 */
.btn { height: 56px; border-radius: 999px; font-weight: 600; font-size: 15px; box-shadow: none; padding: 0 20px; }
.btn-navy { background: var(--navy); color: var(--on-navy); }
.btn-gold { background: var(--gold); color: #fff; box-shadow: none; }
.btn-line { background: #fff; border: 1px solid var(--line); color: var(--ink); }
.btn-red { background: var(--red); }
.btn-sm { height: 42px; font-size: 13px; padding: 0 16px; border-radius: 999px; }
.btn-cta { background: var(--navy); color: #F3F0E8; justify-content: space-between; padding: 0 9px 0 24px; box-shadow: 0 12px 28px -10px rgba(7,30,69,.55); }
.btn-cta .arr, .arrow-dot { width: 38px; height: 38px; border-radius: 50%; background: var(--gold-hi); color: var(--navy); display: grid; place-items: center; flex: none; }
.arrow-dot { width: 30px; height: 30px; background: var(--paper-2); }

/* VIP 카드 */
.vip-card { display: flex; align-items: center; gap: 14px; padding: 16px 18px; }
.vip-ic { width: 44px; height: 44px; border-radius: 15px; background: var(--navy); color: var(--gold-hi); display: grid; place-items: center; flex: none; }
.vip-card b { display: block; font-size: 14.5px; margin-top: 4px; letter-spacing: -0.02em; }

/* 3단계 */
.step3 { border: 0; border-radius: var(--r-card); box-shadow: var(--shadow); padding: 18px 8px 16px; }
.step3 .ico { width: 46px; height: 46px; background: var(--paper-2); color: var(--navy); }

/* 거래 결과 카드 */
.tick-card { padding: 11px; flex-basis: 150px; }
.tick-comp b { font-size: 24px; color: var(--navy); }
.gain { color: var(--green); }

/* 입력 · 칩 */
.input, select.input, textarea.input { height: 52px; border-radius: 16px; border: 1px solid var(--line); padding: 0 16px; font-size: 13.5px; background: #fff; }
textarea.input { height: auto; min-height: 76px; padding: 14px 16px; line-height: 1.6; }
.input:focus { border-color: var(--gold); box-shadow: none; }
.chip { height: 36px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-size: 12.5px; display: inline-flex; align-items: center; gap: 5px; }
.chip.on { background: var(--gold-soft); border-color: var(--gold); color: var(--gold-ink); }
.choice { border: 1px solid var(--line); border-radius: 16px; }
.choice.on { border: 1.5px solid var(--gold); background: var(--gold-soft); }
.choice b { color: var(--navy); font-family: var(--serif); }
.flabel, .field label { font-size: 14px; font-weight: 700; letter-spacing: -0.02em; }
.notice { background: var(--gold-soft); border: 0; border-radius: 16px; color: var(--notice-ink); font-size: 12px; }
.notice.red { background: var(--red-soft); color: var(--red-ink); }
.notice.green { background: var(--green-soft); color: var(--green); }
.ai-box { background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.agree-box { border-color: var(--line); border-radius: 16px; }
.metric { background: var(--paper-2); border-radius: 12px; }

/* 하단 탭 */
.tabbar { border-top: 0; border-radius: 24px 24px 0 0; box-shadow: 0 -6px 20px rgba(7,30,69,.06); }
.tabbar a { font-size: 10px; color: var(--muted); }
.tabbar a.on, .tabbar a.on .ti { color: var(--navy); }
.tabbar a.on::before { background: var(--gold); height: 2px; border-radius: 0; }
.tabbar a .count { background: var(--red); }

/* 회원사 탭 · 검색 */
.dtabs { border-bottom-color: var(--line); }
.dtabs > .on { color: var(--navy); border-bottom-color: var(--gold); }
.search .input { background: #fff; border: 1px solid var(--line); }
.icon-box { border-color: var(--line); border-radius: 16px; height: 52px; width: 52px; }
.bidbar { border-top-color: var(--line); }
.kv { font-size: 13px; }
.memo-box { background: var(--paper-2); border: 0; border-radius: 16px; }

/* 상세 진행 바 */
.progress div::before { background: var(--line); }
.progress div.done::before { background: var(--gold); }
.bid { border-radius: var(--r-card); }
.bid.top { border: 1.5px solid var(--gold); background: #FFFDF6; box-shadow: var(--shadow); }
.rank { background: var(--paper-2); color: var(--navy); border-radius: 10px; font-family: var(--serif); }
.done-card { background: var(--navy); border-radius: 24px; }
.done-card .num { color: var(--gold-hi); }

/* 관리자 */
.wide { color: var(--ink); }
.kpi { border-radius: 14px; }
.kpi b { color: var(--navy); font-weight: 600; font-size: 23px; }
.admin-nav { border-bottom-color: var(--line); gap: 18px; }
.admin-nav a.on { border-bottom-color: var(--gold); color: var(--navy); font-weight: 700; }
.tbl th { color: var(--muted); letter-spacing: .04em; border-bottom-color: var(--line); }
.tbl td { border-bottom-color: var(--line-2); }
.panel-h { border-bottom-color: var(--line-2); }
.tabbar.pt { border-radius: 0; border-top: 1px solid var(--line); box-shadow: none; }
.amount { color: var(--navy); }

/* ---- 가로 넘김 화살표 (최근 거래 결과) ---- */
.hscroll { position: relative; }
.hs-btn { position: absolute; top: 50%; z-index: 2; width: 36px; height: 36px; margin-top: -22px; border-radius: 50%; border: 1px solid var(--line); background: rgba(255,255,255,.95); color: var(--navy); font-size: 22px; line-height: 1; display: grid; place-items: center; box-shadow: 0 6px 16px rgba(7,30,69,.14); cursor: pointer; opacity: 0; transition: opacity .2s; }
.hs-btn.prev { left: 6px; } .hs-btn.next { right: 6px; }
.hscroll:hover .hs-btn, .hs-btn:focus-visible { opacity: 1; }
.hs-btn:hover { background: var(--navy); color: #fff; }
@media (hover: none) { .hs-btn { display: none; } }
a.review:hover { background: var(--paper); }

/* ---- 후기 목록: 왼쪽 상품 사진 ---- */
a.review.rv-photo { display: flex; gap: 12px; align-items: flex-start; color: inherit; }
.rv-thumb { position: relative; flex: none; }
.rv-thumb .thumb { width: 84px; height: 84px; border-radius: 14px; }
.rv-thumb .grade { position: absolute; left: 5px; top: 5px; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.rv-photo .rv-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---- 남은 시간 · 임박 ---- */
.timer .ic { margin-right: 3px; flex: none; }
.timer.urgent, .timer.hot.urgent, .timer.soft.urgent { background: #FBE9E6; color: var(--red-ink); font-family: var(--sans, inherit); font-weight: 700; animation: urgentPulse 1.6s ease-in-out infinite; }
@keyframes urgentPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(184,58,46,.0); } 50% { box-shadow: 0 0 0 4px rgba(184,58,46,.12); } }
@media (prefers-reduced-motion: reduce) { .timer.urgent { animation: none; } }

/* ---- 견적 받는 시간 선택 ---- */
.quote-hours { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.qh { text-align: left; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: #fff; display: grid; gap: 2px; cursor: pointer; }
.qh b { font-size: 15px; color: var(--navy); }
.qh span { font-size: 11.5px; color: var(--muted); }
.qh.on { border-color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); background: var(--gold-soft, var(--gold-soft)); }

/* ---- 좁은 화면 넘침 방지: 긴 상품명은 말줄임 ---- */
.stack { grid-template-columns: minmax(0, 1fr); }
.item-row .grow { min-width: 0; }
.item-row .item-name { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; }
.item-row .timer { flex: none; }

/* ---- 우수 회원사 · 로고 · 매니저 ---- */
.avatar.logo { border-radius: 14px; object-fit: cover; background: #fff; border: 1px solid var(--line); }
.cover .avatar.logo { border-radius: 18px; border: 3px solid #fff; box-shadow: 0 6px 18px rgba(7,30,69,.18); }
.mgr-ph { border-radius: 50%; object-fit: cover; object-position: 50% 18%; flex: none; display: block; background: var(--paper-2, #EFECE4); }
.mgr-ph.empty { display: grid; place-items: center; color: var(--muted); }
.pro-card { flex: 0 0 262px; scroll-snap-align: start; padding: 16px; display: grid; gap: 10px; color: inherit; }
.pro-badge { font-size: 10.5px; font-weight: 800; letter-spacing: .06em; color: var(--gold-ink); margin-bottom: 2px; }
.pro-name { display: block; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pro-tag { margin: 0; font-size: 13px; line-height: 1.45; min-height: 38px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pro-mgr { display: flex; gap: 10px; align-items: center; padding: 10px; border-radius: 14px; background: var(--paper, var(--paper)); }
.pro-card .metrics { margin: 0; }
.mgr-list { display: grid; gap: 10px; margin-bottom: 8px; }
.mgr-card { display: flex; gap: 14px; align-items: center; padding: 14px; }
.upload-row.img { display: flex; align-items: center; gap: 12px; }
.up-prev { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; flex: none; }
.up-prev.sq { border-radius: 12px; }
.up-prev.empty { display: grid; place-items: center; border: 1.5px dashed var(--line); color: var(--muted); }

/* ---- 견적 신청: 사진 체크리스트 · TIP · 브랜드 접두 · 필수 동의 ---- */
.photo-check { margin-top: 12px; padding: 14px 16px; border-radius: 14px; background: var(--paper, var(--paper)); border: 1px solid var(--line); }
.photo-check b { display: flex; gap: 6px; align-items: center; font-size: 13.5px; color: var(--navy); }
.photo-check ul { margin: 8px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--muted); display: grid; gap: 3px; }
.tip-link { width: 100%; margin-top: 8px; display: flex; justify-content: space-between; align-items: center; padding: 13px 16px; border-radius: 14px; background: var(--gold-soft, var(--gold-soft)); color: var(--gold-ink); font-weight: 800; font-size: 13.5px; border: 0; cursor: pointer; }
.tip-link span { font-size: 18px; }
.input.with-prefix { display: flex; align-items: center; gap: 8px; padding-top: 0; padding-bottom: 0; }
.input.with-prefix .prefix { flex: none; padding: 5px 10px; border-radius: 8px; background: var(--paper-2, #EFECE4); font-size: 13px; font-weight: 700; color: var(--navy); }
.input.with-prefix input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; color: inherit; padding: 13px 0; }
.sell-agree .check { align-items: flex-start; line-height: 1.55; font-size: 12.5px; }
.sell-agree .check input { margin-top: 3px; flex: none; }
.sell-agree .req { color: var(--navy); }
.sell-agree em { font-style: normal; color: var(--red-ink); font-weight: 700; }

/* ---- 거래 결과 상세 ---- */
.result-hero { background: linear-gradient(135deg, #071E45, #0F2B5B); color: #fff; border: 0; }
.result-hero .muted, .result-hero .tiny.muted { color: var(--on-navy-2); }
.result-hero .gain { color: var(--gold-hi); }
.result-hero b[style*="navy"] { color: var(--gold-hi) !important; }
.bid-bars { display: grid; gap: 8px; }
.bb { display: grid; grid-template-columns: 34px 1fr 62px; align-items: center; gap: 8px; font-size: 12px; }
.bb-rank { color: var(--muted); font-weight: 700; }
.bb-track { height: 10px; border-radius: 99px; background: var(--paper-2, #EFECE4); overflow: hidden; }
.bb-track i { display: block; height: 100%; border-radius: 99px; background: #B9C3D6; }
.bb-track i.win { background: linear-gradient(90deg, #C9A227, #D9B84C); }
.bb-gap { text-align: right; font-weight: 700; color: var(--navy); }
.tl { display: grid; gap: 0; }
.tl-row { display: flex; gap: 12px; position: relative; padding-bottom: 14px; }
.tl-row i { width: 10px; height: 10px; border-radius: 50%; background: var(--gold, #C9A227); margin-top: 5px; flex: none; position: relative; z-index: 1; }
.tl-row:not(:last-child)::before { content: ''; position: absolute; left: 4.5px; top: 14px; bottom: 0; width: 1px; background: var(--line); }
.tl-row:last-child { padding-bottom: 0; }
.pro-card.wide-card { flex: none; }

/* ---- 판매 아이콘 · PREMIUM ---- */
.tg { display: inline-flex; align-items: center; gap: 3px; height: 21px; padding: 0 7px; border-radius: 999px; font-size: 10.5px; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; cursor: pointer; vertical-align: middle; }
.tg .ic { flex: none; }
.tg-gold { background: var(--gold-soft); color: var(--gold-ink); }
.tg-navy { background: #E7ECF5; color: var(--navy); }
.tg-gray { background: #EFEDE8; color: var(--ink-2); }
.tg-more { background: transparent; border: 1px solid var(--line); color: var(--muted); }
.prem { display: inline-flex; align-items: center; height: 18px; padding: 0 7px; border-radius: 4px; background: linear-gradient(135deg, #C9A227, #E3C766); color: var(--navy); font-family: var(--serif, serif); font-size: 9.5px; font-weight: 700; letter-spacing: .14em; margin-right: 6px; vertical-align: middle; cursor: pointer; }
.item-row.is-prem { box-shadow: inset 3px 0 0 #C9A227; background: linear-gradient(90deg, rgba(244,238,218,.55), rgba(255,255,255,0) 60%); }
.item-row.is-prem .prem { margin-bottom: 3px; }
.feat { display: flex; gap: 12px; align-items: flex-start; }
.feat + .feat { padding-top: 10px; border-top: 1px solid var(--line); }
.feat-ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; flex: none; }
.feat.prem-row .prem { margin-top: 4px; }
.ok-ink { color: var(--green); font-weight: 700; }
.proof-th { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; border: 1px solid var(--line); flex: none; }
.tag-intro { margin-bottom: 10px; background: linear-gradient(135deg, #FBF8EF, #fff); }
.tag-intro-row { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0 8px; align-items: center; }
.quick-tags { display: flex; gap: 6px; align-items: center; overflow-x: auto; margin-bottom: 10px; padding-bottom: 2px; }
.chip.sm { height: 30px; padding: 0 11px; font-size: 12px; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.opt-filter { display: flex; gap: 10px; align-items: center; width: 100%; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: #fff; text-align: left; cursor: pointer; }
.opt-filter.on { border-color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); background: #F7F9FD; }
.opt-card { border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.opt-card.on { border-color: #C9A227; background: #FFFDF6; }
.opt-head { display: flex; gap: 12px; align-items: center; width: 100%; padding: 12px 14px; background: none; border: 0; cursor: pointer; }
.switch { width: 40px; height: 24px; border-radius: 999px; background: #D9D5CB; position: relative; flex: none; transition: background .2s; }
.switch i { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: left .2s; }
.switch.on { background: #C9A227; } .switch.on i { left: 19px; }
.prem-progress { border: 1px dashed #C9A227; background: #FFFDF6; }
.prem-progress.done { border-style: solid; background: linear-gradient(135deg, #FBF5E1, #fff); }
.pp { font-size: 12px; padding: 4px 9px; border-radius: 999px; background: #EFEDE8; color: var(--muted); }
.pp.ok { background: #E6F3EA; color: var(--green); font-weight: 700; }
.lc-box { background: #FBF5E1; border: 1px solid #E3C766; }
.lc-box b { display: inline-flex; gap: 6px; align-items: center; color: var(--gold-ink); }
.tick-card { min-width: 0; overflow: hidden; display: block; }
.tick-card .item-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- 택배 발송 · 배송 조회 ---- */
.ship-addr { padding: 12px 14px; border-radius: 12px; background: var(--paper, var(--paper)); border: 1px solid var(--line); display: grid; gap: 2px; }
.ship-addr .link { justify-self: start; margin-top: 4px; }
.track-steps { display: grid; grid-template-columns: repeat(5, 1fr); position: relative; margin: 4px 0 6px; }
.track-steps::before { content: ''; position: absolute; left: 10%; right: 10%; top: 6px; height: 2px; background: var(--line); }
.ts { display: grid; justify-items: center; gap: 6px; position: relative; font-size: 10.5px; color: var(--muted); text-align: center; }
.ts i { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--line); position: relative; z-index: 1; }
.ts.on { color: var(--navy); font-weight: 700; }
.ts.on i { background: var(--gold, #C9A227); border-color: var(--gold, #C9A227); }
.ts.cur i { box-shadow: 0 0 0 4px rgba(201,162,39,.22); }

/* ---- 아이콘 말풍선 ---- */
.tip-pop { position: absolute; z-index: 9999; max-width: 240px; padding: 9px 12px; border-radius: 10px; background: #071E45; color: #fff; font-size: 12px; line-height: 1.45; box-shadow: 0 8px 22px rgba(7,30,69,.28); pointer-events: none; display: grid; gap: 2px; }
.tip-pop b { color: var(--gold-hi); font-size: 12px; }
.tip-pop span { color: var(--on-navy); }
.tip-pop::after { content: ''; position: absolute; left: var(--ax, 50%); bottom: -5px; width: 10px; height: 10px; background: #071E45; transform: translateX(-50%) rotate(45deg); }
.tip-pop.below::after { bottom: auto; top: -5px; }
.tg, .prem { cursor: help; }

/* ---- 목록 한 줄 정렬: 상품명·아이콘 줄바꿈 없음, 남은 시간 작게 ---- */
.item-row { gap: 12px; }
.item-row .grow { min-width: 0; }
.item-row .item-name { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: unset; line-height: 1.4; }
.item-row .item-name .prem { margin-right: 5px; transform: translateY(-1px); }
.item-row .grow > .tiny, .item-row .grow > .small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-row .grow > .row { flex-wrap: nowrap !important; overflow: hidden; }
.item-row .grow > .row > * { flex: none; }
.item-row .timer { height: 24px; padding: 0 9px; font-size: 11.5px; letter-spacing: -.01em; }
.item-row .timer .ic { width: 10px; height: 10px; }

/* ---- 목록 2단 구성: 상품명은 전체 폭, 아이콘과 남은 시간은 같은 줄 ---- */
.item-row.r2 { align-items: center; }
.tag-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 5px; min-width: 0; }
.tag-line .tags { display: flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; white-space: nowrap; flex: 1; }
.tag-line .tags > * { flex: none; }
.tag-line .tags > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; flex: 0 1 auto; }
.tag-line .tags .tg:last-child, .tag-line .tags .tg-more:last-child { flex: none; }
.tag-line .timer { flex: none; }
.tag-line .prem { margin-right: 0; }
.thumb-wrap .prem-ov { position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); margin: 0; height: 16px; font-size: 8.5px; padding: 0 6px; box-shadow: 0 2px 6px rgba(7,30,69,.2); white-space: nowrap; }
.timer .ic { margin-right: 3px; }
.tag-line .timer { padding: 0 8px; }
@media (max-width: 400px) {
  .item-row.r2 { gap: 10px; }
  .item-row.r2 .thumb-wrap .thumb { width: 66px; height: 66px; }
  .item-row.r2 .tg { padding: 0 6px; }
}
.thumb-wrap.sm .thumb { width: 50px; height: 50px; }
.thumb-wrap.sm .prem-ov { font-size: 7.5px; height: 14px; padding: 0 4px; letter-spacing: .08em; bottom: -5px; }

/* ---- 로고: MONAR (O 골드) + 태그라인 ---- */
.logo { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.logo .wm-row { display: inline-flex; align-items: baseline; gap: 8px; }
.logo .wm { font-family: var(--serif); font-weight: 600; letter-spacing: .3em; }
.logo .wm em { font-style: normal; color: var(--gold); }
.topbar.light .logo .wm { color: var(--navy); }
.logo .tagline { font-family: var(--sans); font-size: 10.5px; font-weight: 600; letter-spacing: .32em; color: var(--muted); margin-left: 1px; }
.login-logo { display: flex; justify-content: center; margin: 14px 0 8px; }
.login-logo .logo { align-items: center; gap: 6px; }
.login-logo .logo .wm { font-size: 34px; letter-spacing: .34em; margin-right: -.34em; }
.login-logo .logo .tagline { font-size: 13px; letter-spacing: .3em; margin-right: -.3em; }
.topbar.light .logo .wm { font-size: 23px; }
.topbar.light .logo .tagline { font-size: 10px; letter-spacing: .36em; }

/* ---- 관리자: 우수 회원사 노출 순서 ---- */
.feat-admin { display: grid; }
.fa-row { display: flex; align-items: center; gap: 12px; padding: 10px 16px; }
.fa-row + .fa-row { border-top: 1px solid var(--line); }
.fa-no { width: 22px; text-align: center; font-family: var(--serif); font-weight: 700; color: var(--gold-ink); }
.fa-btns { display: flex; gap: 6px; align-items: center; }
.icon-sq { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--line); background: #fff; color: var(--navy); font-size: 12px; cursor: pointer; }
.icon-sq:disabled { opacity: .3; cursor: default; }
.icon-sq:not(:disabled):hover { background: var(--navy); color: #fff; }

/* ---- 정산 청구 상태 · 제휴사 파트너 센터 ---- */
.btn-xs { height: 28px; padding: 0 10px; font-size: 12px; border-radius: 8px; width: auto; display: inline-flex; align-items: center; }
.bulk-bar { display: flex; align-items: center; gap: 10px; margin: 12px 16px 0; padding: 10px 14px; border-radius: 12px; background: #071E45; color: #fff; }
.bulk-bar .muted { color: var(--on-navy-2); }
.bulk-bar .btn-sm { width: auto; }
tr.opened > td { background: #F7F9FD; }
tr.bill-detail > td { padding: 0 12px 12px; background: #F7F9FD; }
.tbl.inner { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); }
.tbl.inner th, .tbl.inner td { font-size: 12.5px; }
.bill-sum { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.bs { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 10px 8px; display: grid; gap: 4px; justify-items: center; text-align: center; }
.bs b { font-size: 16px; } .bs span:last-child { font-size: 10.5px; color: var(--muted); }
.bs.warn { border-color: #E9B4AC; background: #FBF1EF; }
.funnel { display: grid; gap: 10px; padding: 16px; }
.fn { display: grid; grid-template-columns: 1fr 200px; align-items: center; gap: 12px; }
.fn-bar { height: 34px; border-radius: 10px; background: linear-gradient(90deg, #0046FF, #4A7BFF); color: #fff; display: flex; align-items: center; padding: 0 12px; }
.wide.partner .admin-nav a.on { border-color: #0046FF; color: var(--blue); }
.tbl.inner td, .tbl.inner th { white-space: nowrap; }
.tbl.inner td a { display: inline-block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
.tip-pop[hidden] { display: none; }
.card.bid { cursor: pointer; } .card.bid:hover { box-shadow: 0 0 0 1px var(--gold, #C9A227) inset; }

/* ---- 입찰 카드 2줄 정렬: 윗줄 순위·로고·이름·금액 / 아랫줄 지표·판매하기 ---- */
.card.bid.v2 { display: grid; gap: 10px; align-items: stretch; }
.bid-top { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bid-top .rank { flex: none; }
.bid-name { flex: 1; min-width: 0; display: flex; align-items: center; gap: 5px; overflow: hidden; white-space: nowrap; }
.bid-name b { overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 0 1 auto; }
.bid-name .badge { flex: none; }
.bid-top .amount { flex: none; margin-left: auto; }
.bid-bottom { display: flex; align-items: center; gap: 10px; padding-left: 2px; }
.bid-metrics { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 12px; color: var(--muted); }
.bid-metrics > span { white-space: nowrap; }
.bid-metrics .badge { font-size: 10.5px; }
.bid-bottom .btn { flex: none; }
@media (max-width: 400px) { .bid-metrics .hide-sm { display: none; } }

/* ---- 약속가 지급률 설명 ---- */
.has-tip { cursor: help; }
.has-tip b { font-weight: 800; }
.pay-explain { margin: 10px 0 4px; padding: 10px 12px; border-radius: 12px; background: #EEF5F0; color: var(--green); font-size: 12.5px; line-height: 1.55; cursor: help; }
.pay-explain b { color: var(--green); }
.pay-explain .ic { vertical-align: -2px; margin-right: 2px; }

/* ---- 로고 규격 (MONAR_logotype 기본형): 자간 0.30em, 라이트 #071E45 + O #C9A227, 네이비 지면 #F3F0E8 + O #D9B84C ---- */
.logo .wm { letter-spacing: .3em; font-weight: 600; }
.topbar.light .logo .wm, .login-logo .logo .wm { color: var(--navy); }
.topbar.light .logo .wm em, .login-logo .logo .wm em { color: #C9A227; }
.topbar:not(.light) .logo .wm { color: var(--on-navy); }
.topbar:not(.light) .logo .wm em { color: var(--gold-hi); }
.bid-amt { flex: none; margin-left: auto; text-align: right; line-height: 1.15; }
.bid-amt .tiny { margin-top: 2px; }
.feat-mark { flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--gold-soft); color: var(--gold-ink); font-size: 10px; display: inline-grid; place-items: center; }
.bid-metrics { flex-wrap: nowrap; overflow: hidden; }

/* ---- 로고 정렬: 태그라인을 워드마크 M~R 폭에 양끝 맞춤 ---- */
.logo { flex-direction: row; align-items: flex-start; gap: 8px; }
.logo .wm-block { display: inline-grid; grid-template-columns: max-content; row-gap: 3px; }
.logo .wm { margin-right: -.3em; } /* 마지막 글자(R) 뒤 자간 제거 → 실제 글자 폭 기준 */
.logo .tagline { display: block; width: 100%; margin: 0; letter-spacing: 0; text-align: justify; text-align-last: justify; white-space: nowrap; }
.logo small { align-self: flex-start; margin-top: 6px; margin-left: 6px; }
.login-logo .logo { flex-direction: column; align-items: center; }
.login-logo .logo .wm { margin-right: -.34em; }
.login-logo .logo .tagline { margin: 0; letter-spacing: 0; }
.logo .tagline { display: flex; justify-content: space-between; text-align: left; }
.logo .tagline i { width: 0; }

/* ---- 로고 규정 (시안): 태그라인 남색·볼드, 기본 자간, MONAR 폭의 88%, 가운데 정렬 ---- */
.logo .tagline { display: block; width: auto; justify-self: center; text-align: center; text-align-last: auto; letter-spacing: -.01em; font-family: var(--sans); font-weight: 700; color: var(--navy); white-space: nowrap; line-height: 1.2; margin: 0; }
.topbar:not(.light) .logo .tagline { color: var(--on-navy); }
.logo .wm-block { justify-items: center; }
.login-logo .logo .tagline { letter-spacing: -.01em; margin: 2px 0 0; }
.topbar.light .logo .wm { font-size: 29px; }
/* 태그라인을 워드마크에 더 붙임 */
.logo .wm { line-height: 1; }
.logo .wm-block { row-gap: 0; }
.logo .tagline { margin-top: 4px; }
.login-logo .logo .tagline { margin-top: 6px; }
/* 워드마크 자간 축소: 0.30em → 0.20em */
.logo .wm { letter-spacing: .2em; margin-right: -.2em; }
.login-logo .logo .wm { letter-spacing: .2em; margin-right: -.2em; }
.logo .tagline { margin-top: 6px; }
.login-logo .logo .tagline { margin-top: 9px; }

/* ---- 회원사 입구 (고객 로그인 하단) ---- */
.partner-entry { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--muted); }
.partner-entry a { color: var(--navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.partner-entry i { font-style: normal; color: var(--line); }

/* ---- 시연 메뉴 숨김 ---- */
.bar-hidden #proto-bar { display: none; }
#bar-toggle { position: fixed; left: 10px; bottom: 10px; z-index: 9000; padding: 5px 10px; border-radius: 999px; border: 1px solid rgba(7,30,69,.15); background: rgba(255,255,255,.85); color: var(--muted); font-size: 11px; opacity: .45; cursor: pointer; transition: opacity .2s; }
#bar-toggle:hover { opacity: 1; }
.shot #bar-toggle { display: none; }
@media (max-width: 640px) { #bar-toggle { bottom: 88px; } }

/* ---- 구매 증빙 복수 등록 ---- */
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.proof-tile { position: relative; aspect-ratio: 1; border-radius: 12px; border: 1.5px dashed var(--line); background: #fff; display: grid; place-items: center; align-content: center; gap: 4px; color: var(--muted); cursor: pointer; overflow: hidden; }
.proof-tile input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.proof-tile .pt-label { font-size: 11px; font-weight: 700; }
.proof-tile.done { border: 1px solid var(--line); }
.proof-tile.done img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.proof-tile.done .pt-label { position: absolute; left: 4px; right: 4px; bottom: 4px; background: rgba(31,138,76,.92); color: #fff; border-radius: 6px; padding: 2px 4px; text-align: center; }
.pt-del { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; border-radius: 50%; border: 0; background: rgba(7,30,69,.75); color: #fff; font-size: 14px; line-height: 1; cursor: pointer; }
.proof-ths { display: flex; gap: 6px; flex: none; }

/* ---- 감가 절차 ---- */
.grid3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.grid3 .btn { padding-left: 6px; padding-right: 6px; font-size: 13px; }
.deadline-box { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #FBF5E1; color: var(--notice-ink); font-size: 12.5px; line-height: 1.5; }
.deadline-box .ic { flex: none; margin-top: 2px; }
.deadline-box b[data-timer] { white-space: nowrap; }
.tl-row i.adm { background: #071E45; }
.tl-row i.cus { background: #1F8A4C; }

a.logo { color: inherit; text-decoration: none; cursor: pointer; }

/* ---- 공통 푸터 ---- */
.site-footer { margin: 38px 0 0; padding: 22px 20px 96px; border-top: 1px solid var(--line); background: var(--paper-2); color: var(--muted); font-size: 11.5px; line-height: 1.6; }
.site-footer .ft-links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 12px; }
.site-footer .ft-links a { color: var(--ink-2); font-size: 12px; }
.site-footer .ft-links b { font-weight: 800; }
.site-footer .ft-info { display: flex; flex-wrap: wrap; gap: 2px 10px; }
.site-footer .ft-info b { color: var(--ink-2); width: 100%; font-size: 12px; }
.site-footer .ft-info span { white-space: normal; overflow-wrap: anywhere; }
.site-footer .ft-note { margin: 10px 0 0; font-size: 11px; }
.site-footer .ft-copy { margin: 8px 0 0; font-size: 10.5px; color: var(--muted); }

/* ---- 홈 히어로: 브랜드 사이트형 굵은 고딕 (명조 → Pretendard) ---- */
.hero .eyebrow { font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.hero h1 { font-family: var(--sans); font-weight: 800; font-size: 30px; line-height: 1.3; letter-spacing: -.045em; margin: 12px 0 12px; word-break: keep-all; }
.hero h1 em { color: var(--gold-hi, #D9B84C); }
.hero p { font-size: 14px; line-height: 1.6; letter-spacing: -.02em; word-break: keep-all; }
.hero .pills { display: flex; flex-wrap: nowrap; gap: 6px; }
.hero .pill { white-space: nowrap; font-weight: 600; letter-spacing: -.02em; }
@media (max-width: 400px) { .hero h1 { font-size: 27px; } .hero p { font-size: 13px; } .hero .pill { font-size: 11px; padding: 4px 8px; } }
.grade.g-C { background: #F3E9E4; color: var(--amber-ink); }
.grade-pick .choice { padding-left: 2px; padding-right: 2px; }
.grade-pick .choice span { font-size: 10.5px; letter-spacing: -.03em; word-break: keep-all; }

/* ---- 홈 히어로 배경: 블랙 차콜 ---- */
.hero { background: #0E1116; color: #F5F2EA; }
.hero .eyebrow { color: #D9B84C; }
.hero h1 { color: #F5F2EA; }
.hero h1 em { color: #D9B84C; }
.hero p { color: #A9AEB8; }
.hero .pill { border-color: #3A3F48; background: rgba(255,255,255,.04); color: #E6E1D6; }
.hero .deco { border-color: rgba(217,184,76,.20); }
.hero .deco.d2 { border-color: rgba(217,184,76,.12); }

/* ---- 회원사 전달 방법 선택 ---- */
.ship-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ship-opt { text-align: left; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: #fff; display: grid; gap: 2px; cursor: pointer; }
.ship-opt b { font-size: 13.5px; color: var(--navy); }
.ship-opt span { font-size: 11.5px; color: var(--muted); }
.ship-opt.on { border-color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); background: #F7F9FD; }

/* ---- 견적 유형 입력 (즉시 매입 / 위탁) ---- */
.bid-type { display: grid; gap: 8px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: #fff; }
.bid-type.consign { background: #FFFDF6; border-color: #E8DAB0; }
.bid-type .input { flex: 1; }

/* ---- 위탁 판매 진행 ---- */
.cons-card { border-color: #E8DAB0; }
.cons-bar { height: 8px; border-radius: 99px; background: var(--paper-2, #EFECE4); overflow: hidden; }
.cons-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #C9A227, #D9B84C); }

/* 약관·방침 전문 */
.legal { font-size: 13px; line-height: 1.7; color: var(--ink-2); display: grid; gap: 6px; }
.legal h4 { font-size: 14px; color: var(--navy); margin: 12px 0 2px; }
.legal p { margin: 0; }
.legal ol, .legal ul { margin: 0; padding-left: 20px; display: grid; gap: 2px; }
.legal table { width: 100%; border-collapse: collapse; font-size: 12px; margin: 4px 0; }
.legal th, .legal td { border: 1px solid var(--line, #E5E7EB); padding: 6px 8px; text-align: left; vertical-align: top; }
.legal th { background: #F6F4EF; font-weight: 700; }
.legal-sub { font-size: 12px; color: var(--muted); }
.modal .legal { max-height: 60vh; overflow: auto; padding-right: 4px; }

/* 태그라인 끝 '모나르' 금색 */
.logo .tagline em { font-style: normal; color: var(--gold-ink); }
.topbar:not(.light) .logo .tagline em { color: var(--gold-hi); }

/* 준비 중 카테고리 (선택 불가) */
.chip.soon { opacity: .45; cursor: not-allowed; display: inline-flex; align-items: center; gap: 4px; }
.chip.soon small { font-size: 10px; color: var(--muted); }

/* 어두운 안내 박스 (메인 상단과 같은 블랙 차콜) */
.promo-dark { background: #0E1116; color: var(--on-navy); border: 0; }
.promo-dark .small { color: var(--on-navy-2); }
.btn.btn-fit { width: auto; justify-self: center; align-self: center; height: 44px; padding: 0 22px; font-size: 15px; }

/* 색 통일: 상단 바·주요 버튼을 메인 상단과 같은 블랙 차콜로 */
.topbar { background: #0E1116; }
.topbar.light { background: transparent; }
.btn-cta { background: #0E1116; color: #F5F2EA; box-shadow: 0 12px 28px -10px rgba(14,17,22,.55); }
.btn-cta .arr { color: #0E1116; }
/* 하단 떠 있는 '무료로 견적 받아보기'는 글씨 크기에 맞게 가운데 */
.cta-fixed { display: flex; justify-content: center; pointer-events: none; }
.cta-fixed .btn-cta { pointer-events: auto; width: auto; gap: 18px; }

/* 회원사 라운지 */
.lounge-tile { display: grid; gap: 4px; color: inherit; text-decoration: none; }
.lounge-tile svg { color: var(--gold-ink); }
.lg-row { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.lg-row:last-child { border-bottom: 0; }
.lg-row .thumb { width: 56px; height: 56px; border-radius: 10px; overflow: hidden; flex: none; background: #EEE; }
.lg-row .thumb img { width: 100%; height: 100%; object-fit: cover; }
.ell { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lg-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 6px; }
.lg-photos:empty { display: none; }
.lg-photos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; cursor: zoom-in; }
.vchip { cursor: pointer; }
.vchip input { margin: 0 4px 0 0; }
.vchip:has(input:checked) { background: #0E1116; color: var(--on-navy); border-color: #0E1116; }
.upl-row { gap: 8px; align-items: center; flex-wrap: wrap; }
.btn.upl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: auto; }
.btn.upl-btn svg { flex: none; }
.lg-head { display: grid; gap: 4px; }
.lg-head b { font-size: 16px; line-height: 1.35; }
.lg-op-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.lg-op-head .tiny { white-space: nowrap; }
.lg-op-del { display: block; margin-top: 6px; padding: 0; }
.field label.upl-btn { margin: 0; justify-content: center; align-items: center; font-size: 13px; font-weight: 700; letter-spacing: normal; color: inherit; }
.field label.upl-btn span { font-size: inherit; color: inherit; }

/* 회원사 아지트 */
.azit-head { display: grid; gap: 2px; margin: 4px 2px -4px; }
.azit-head b { font-size: 16px; }
.lounge-tile { position: relative; }
.azit-tag { position: absolute; top: 12px; right: 12px; font-size: 10.5px; font-weight: 700; color: var(--gold-ink); background: #F6EED9; padding: 2px 8px; border-radius: 999px; }
.sec-head h2 .prem { font-size: 10px; vertical-align: middle; margin-right: 4px; }

/* 회원사 정산: 거래별 수수료 내역 */
.fee-month { overflow: hidden; }
.fee-month-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; padding: 12px 16px; background: #F6F4EF; border-bottom: 1px solid var(--line); }
.fee-row { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.fee-row:last-child { border-bottom: 0; }
.fee-amt { display: grid; justify-items: end; gap: 3px; text-align: right; white-space: nowrap; }

/* 월별 청구서 */
.stmt { border-bottom: 1px solid var(--line); }
.stmt:last-child { border-bottom: 0; }
.stmt-h { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; text-align: left; background: none; }
.stmt-body { background: #FAF8F3; padding: 4px 0 12px; display: grid; gap: 0; }
.stmt-row { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-top: 1px solid var(--line); cursor: pointer; }
.stmt-row.off { cursor: default; }
.stmt-row input { width: 18px; height: 18px; flex: none; }
.stmt-dot { width: 18px; flex: none; }
.stmt-foot { display: flex; align-items: center; gap: 8px; padding: 10px 16px 6px; border-top: 1px solid var(--line); }
.stmt-body > .btn { margin: 4px 16px 0; width: calc(100% - 32px); }
.stmt-body > .tiny { padding: 6px 16px 0; }

/* 한 줄 필터 칩 (넘치면 옆으로 스크롤) */
.chips.one-line { flex-wrap: nowrap; overflow-x: auto; gap: 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.chips.one-line::-webkit-scrollbar { display: none; }
.chips.one-line .chip { flex: none; padding: 6px 11px; font-size: 13px; white-space: nowrap; }
.stmt-h > div:last-child { white-space: nowrap; }
.stmt-h > div:first-child { min-width: 0; }

/* 고객센터 */
.cs-hero { position: relative; border-radius: 22px; overflow: hidden; background: #0E1116; color: var(--on-navy); }
.cs-collage { display: grid; grid-template-columns: 1.3fr 1fr 1fr; height: 170px; gap: 2px; opacity: .55; }
.cs-collage img { width: 100%; height: 100%; object-fit: cover; }
.cs-hero-txt { padding: 18px 20px 22px; margin-top: -54px; position: relative; background: linear-gradient(180deg, rgba(14,17,22,0) 0%, #0E1116 34%); }
.cs-hero-txt h2 { font-size: 24px; line-height: 1.3; margin: 6px 0 8px; color: var(--on-navy); }
.cs-hero-txt p { margin: 0; font-size: 14px; color: var(--on-navy-2); line-height: 1.6; }
.cs-meaning { text-align: center; }
.cs-word { font-family: var(--serif); font-size: 36px; letter-spacing: .2em; margin-right: -.2em; color: var(--navy); }
.cs-word em { font-style: normal; color: #C9A227; }
.cs-value { display: flex; gap: 14px; align-items: flex-start; }
.cs-ic { width: 42px; height: 42px; border-radius: 12px; background: #F6EED9; color: var(--gold-ink); display: grid; place-items: center; flex: none; }
.cs-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; background: #0E1116; color: var(--on-navy); border-radius: 18px; padding: 16px 10px; text-align: center; }
.cs-stats div { display: grid; gap: 2px; }
.cs-stats b { font-size: 16px; color: var(--gold-hi); }
.cs-stats span { font-size: 11.5px; color: var(--on-navy-2); }
.cs-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cs-contact { display: grid; gap: 4px; color: inherit; text-decoration: none; }
.cs-contact svg { color: var(--gold-ink); }
.sec-head.cs-head { margin: 14px 0 0; }
.cs-stats { display: block; padding: 16px 10px 12px; }
.cs-stat-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; text-align: center; }
.cs-stat-row div { display: grid; gap: 2px; }
.cs-stat-note { text-align: center; font-size: 11px; color: var(--muted); margin-top: 10px; }
.sec-head.cs-head { margin: 6px 0 6px; }
.cs-stats { margin-top: 6px; }

/* 하단 링크: 아이폰 폭에서도 한 줄 */
.site-footer .ft-links { flex-wrap: nowrap; gap: 4px 10px; overflow-x: auto; scrollbar-width: none; }
.site-footer .ft-links::-webkit-scrollbar { display: none; }
.site-footer .ft-links a { font-size: 11.5px; white-space: nowrap; flex: none; }
.site-footer .ft-links { justify-content: space-between; gap: 4px 8px; }
.site-footer .ft-links a { font-size: 12.5px; }

/* 상단 로그인 버튼 */
.top-pill { font-size: 13px; font-weight: 600; color: #0E1116; background: #fff; border: 1px solid #D9D4C7; border-radius: 999px; padding: 7px 14px; text-decoration: none; white-space: nowrap; }
.top-pill:active { background: #F6F4EF; }

/* 홈 상단: 사진 콜라주 */
.hero.has-photo { padding: 0; overflow: hidden; }
.hero-collage { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 2px; height: 168px; opacity: .6; }
.hero-collage img { width: 100%; height: 100%; object-fit: cover; }
.hero.has-photo .hero-body { position: relative; margin-top: -58px; padding: 22px 22px 22px; background: linear-gradient(180deg, rgba(14,17,22,0) 0%, #0E1116 38%); }
.hero-collage { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.site-footer .ft-links a.on { font-weight: 800; color: var(--ink); text-decoration: underline; text-decoration-color: #C9A227; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.chip.full-chip small { font-size: 10.5px; opacity: .7; margin-left: 2px; }

/* 관리자 할 일 */
.todo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; padding: 12px 16px 16px; }
.todo { display: flex; justify-content: space-between; align-items: center; padding: 11px 14px; border-radius: 12px; background: #F5F7FA; color: var(--muted); font-size: 13px; text-decoration: none; }
.todo b { font-size: 16px; color: var(--muted); }
.todo.on { background: #FFF8E6; color: var(--ink); font-weight: 600; }
.todo.on b { color: var(--gold-ink); }
.todo.on.red { background: #FDEDED; }
.todo.on.red b { color: var(--red-ink); }
/* 통계 막대 */
.bars { display: flex; gap: 6px; align-items: flex-end; height: 170px; padding: 14px 16px 10px; }
.bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; }
.bar-col span { font-size: 10.5px; color: var(--muted); }
.bar-stack { flex: 1; width: 100%; max-width: 26px; display: flex; flex-direction: column-reverse; background: #F2F4F7; border-radius: 6px; overflow: hidden; }
.bar-stack i { display: block; width: 100%; }
.bar-stack i.u, .lg-dot.u { background: #1F2A44; }
.bar-stack i.d, .lg-dot.d { background: #D9B84C; }
.lg-dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin: 0 3px 0 8px; }
.safe-note { border-left: 3px solid var(--gold); }

/* 선택창 화살표: 기본 화살표 숨기고 오른쪽에 하나만 */
select.input, .field select, .fee-rule select, table select {
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 12px;
  padding-right: 34px !important; text-overflow: ellipsis; white-space: nowrap;
}
select.input { background-color: #fff; }

/* 견적함: 확인 필요 · 새 소식 */
.item-row.attn { position: relative; box-shadow: 0 0 0 2px #D9B84C, 0 6px 18px rgba(217,184,76,.25); animation: attnGlow 1.6s ease-in-out infinite; }
@keyframes attnGlow { 0%,100% { box-shadow: 0 0 0 2px #D9B84C, 0 6px 18px rgba(217,184,76,.18); } 50% { box-shadow: 0 0 0 3px #E9C55A, 0 6px 26px rgba(217,184,76,.55); } }
.attn-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--gold-ink); margin-bottom: 3px; }
.attn-tag i { width: 7px; height: 7px; border-radius: 50%; background: #E5484D; animation: attnDot 1s ease-in-out infinite; }
@keyframes attnDot { 50% { opacity: .25; transform: scale(.7); } }
.item-row.is-new { box-shadow: 0 0 0 1.5px #1F2A44; }
.new-tag { display: inline-block; font-size: 11px; font-weight: 700; color: #fff; background: #E5484D; border-radius: 999px; padding: 1px 8px; margin-bottom: 3px; }
.attn-sum { background: #FFF8E6; border-color: #EBD9A3; }
.tabbar .count.hot { background: #E5484D; animation: attnDot 1.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .item-row.attn, .attn-tag i, .tabbar .count.hot { animation: none; } }
.deal-list .item-row.attn, .deal-list .item-row.is-new { border-radius: 14px; margin: 6px; }
.pay-warn-ic { width: 46px; height: 46px; margin: 0 auto; border-radius: 50%; background: #FFF4D6; color: var(--gold-ink); display: grid; place-items: center; font-size: 24px; font-weight: 800; }
.inv-err { color: var(--red-ink); min-height: 0; margin-top: -4px; }
.inv-err:empty { display: none; }
.input.bad { border-color: #E5484D !important; background: #FFF6F6; }

/* 회원사 입찰 목록: 새 매물 N · 본 매물 · 결과 대기 */
.n-badge { display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #E5484D; color: #fff; font-size: 10.5px; font-weight: 800; margin-right: 5px; vertical-align: 1px; }
.n-badge.sm { width: 15px; height: 15px; font-size: 9.5px; }
.seen-tag { display: inline-block; margin-left: 6px; font-size: 10.5px; font-weight: 600; color: var(--muted); background: #EEF1F5; border-radius: 6px; padding: 1px 6px; vertical-align: 1px; }
.item-row.is-seen .item-name { color: var(--ink-2); }
.timer-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.res-wait { font-size: 11px; font-weight: 700; color: var(--blue); }
.dtabs .n-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #E5484D; margin-left: 4px; vertical-align: 6px; }
.tabbar .count.n-count { background: #E5484D; }
.list-meta { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.new-inline { display: inline-flex; align-items: center; font-weight: 700; color: var(--red-ink); }
.new-inline .n-badge { margin-right: 3px; }
.bid-toggle { font-size: 12px; color: var(--muted); }

/* 사진 넘기기 화살표 */
.g-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.85); color: var(--ink); display: grid; place-items: center; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.25); opacity: .9; transition: opacity .15s, background .15s; z-index: 2; }
.g-nav:hover { background: #fff; opacity: 1; }
.g-nav.prev { left: 12px; }
.g-nav.next { right: 12px; }
.g-nav.next svg { transform: scaleX(-1); }
@media (hover: none) { .g-nav { width: 32px; height: 32px; opacity: .7; } }
.direct-link { justify-self: stretch; width: 100%; padding: 12px; border: 1px dashed #CFC6AE; border-radius: 12px; background: #FFFDF6; color: var(--notice-ink); font-size: 13px; font-weight: 600; cursor: pointer; }
.direct-link:hover { background: #FFF7E3; }
.quick-tags { margin: 0 0 8px; padding: 0; gap: 6px; scrollbar-width: none; }
.quick-tags::-webkit-scrollbar { display: none; }
.quick-tags .chip { flex: 0 0 auto; height: 32px; padding: 0 12px; font-size: 12.5px; display: inline-flex; align-items: center; gap: 4px; }
.tag-intro { margin-bottom: 8px; }

/* ============ PC 화면 (1024px 이상) · 고객 ============ */
.gnb, .hero-cta { display: none; }
@media (min-width: 1024px) {
  /* 상단 메뉴 */
  .gnb { display: block; position: sticky; top: 0; z-index: 40; background: rgba(247,245,240,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid #E4E0D6; }
  .gnb-in { max-width: 1200px; margin: 0 auto; height: 76px; padding: 0 32px; display: flex; align-items: center; gap: 40px; }
  .gnb .logo .wm { color: var(--navy); font-size: 28px; }
  .gnb .logo .wm em { color: #C9A227; }
  .gnb-menu { flex: 1; display: flex; gap: 30px; }
  .gnb-menu a, .gnb-right > a:not(.btn) { position: relative; font-size: 15px; font-weight: 600; color: var(--ink); text-decoration: none; letter-spacing: -.02em; }
  .gnb-menu a:hover, .gnb-right > a:not(.btn):hover { color: var(--gold-ink); }
  .gnb-menu a.on, .gnb-right > a.on { color: var(--navy); font-weight: 800; }
  .gnb-menu a.on::after { content: ''; position: absolute; left: 0; right: 0; bottom: -27px; height: 2px; background: #C9A227; }
  .gnb-right { display: flex; align-items: center; gap: 22px; }
  .gnb-right .count { position: absolute; top: -9px; right: -14px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #1F2A44; color: #fff; font-size: 11px; display: grid; place-items: center; }
  .gnb-right .count.hot { background: #E5484D; }
  .gnb-cta { height: 44px; padding: 0 20px; border-radius: 22px; font-size: 14.5px; width: auto; }

  /* 고객 화면: 하단 탭 대신 상단 메뉴 */
  .phone.cust ~ .tabbar { display: none; }
  .phone.cust { padding-bottom: 0; margin-top: 28px; margin-bottom: 0; border-radius: 22px 22px 0 0; overflow: hidden; }
  .phone.cust .cta-fixed { display: none; }

  /* 홈: 화면 전체 너비 */
  .phone.cust.pg-home { max-width: none; margin-top: 0; border-radius: 0; box-shadow: none; background: var(--paper); }
  .pg-home > .topbar.light { display: none; }
  .pg-home .hero-wrap, .pg-home > .section, .pg-home .home-dual { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 32px; padding-right: 32px; box-sizing: border-box; }
  .pg-home .hero-wrap { padding-top: 32px; }
  .pg-home > .section { padding-top: 56px; }
  .pg-home .sec-head h2 { font-size: 22px; }

  /* 홈 첫 화면: 사진을 배경으로, 문구는 왼쪽 크게 */
  .pg-home .hero.has-photo { position: relative; min-height: 460px; display: flex; align-items: center; border-radius: 28px; }
  .pg-home .hero-collage { position: absolute; inset: 0; height: auto; opacity: .62; gap: 3px; }
  .pg-home .hero.has-photo::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #0E1116 0%, rgba(14,17,22,.92) 38%, rgba(14,17,22,.35) 72%, rgba(14,17,22,.15) 100%); }
  .pg-home .hero.has-photo .hero-body { position: relative; z-index: 2; margin: 0; padding: 64px 64px 60px; max-width: 640px; background: none; }
  .pg-home .hero h1 { font-size: 48px; line-height: 1.22; margin: 16px 0 18px; }
  .pg-home .hero p { font-size: 17px; line-height: 1.65; }
  .pg-home .hero .pills { margin-top: 22px; }
  .pg-home .hero-cta { display: flex; gap: 12px; margin-top: 30px; }
  .pg-home .hero-cta .btn { width: auto; height: 54px; padding: 0 28px; border-radius: 27px; font-size: 16px; gap: 10px; }
  .pg-home .hero-ghost { background: rgba(255,255,255,.08); color: #F5F2EA; border: 1px solid rgba(255,255,255,.28); }
  .pg-home .hero-ghost:hover { background: rgba(255,255,255,.16); }

  .pg-home .vip-card { padding: 22px 28px; }

  /* 프리미엄 매입 요청 · 실시간 등록: 나란히 */
  .pg-home .home-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; padding-top: 56px; }
  .pg-home .home-dual > .section { padding: 0; }

  /* 최근 거래 결과: 4열 */
  .pg-home .ticker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; overflow: visible; }
  .pg-home .hs-btn { display: none; }
  .pg-home .tick-card { padding: 14px; }
  .pg-home .tick-card .thumb { height: 170px; }

  /* 3단계 안내 */
  .pg-home .steps3 { gap: 20px; }
  .pg-home .step3 { padding: 34px 16px 30px; font-size: 15px; }
  .pg-home .step3 .ico { width: 58px; height: 58px; }

  /* 우수 회원사: 3열 */
  .pg-home .dealer-scroll { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; overflow: visible; }
  .pg-home .pro-card { flex: none; }

  /* 후기: 3열 카드 */
  .pg-home .rv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; background: none; box-shadow: none; border: 0; }
  .pg-home .rv-grid > .review { background: #fff; border-radius: var(--r-card); box-shadow: var(--shadow); border: 0; padding: 18px; flex-direction: column; align-items: stretch; }
  .pg-home .rv-grid .rv-thumb { width: 100%; }
  .pg-home .rv-grid .rv-thumb .thumb { width: 100%; height: 160px; }

  /* 바로가기: 4열 */
  .pg-home .menu-list { display: grid; grid-template-columns: repeat(4, 1fr); background: none; box-shadow: none; gap: 12px; }
  .pg-home .menu-list > * { background: #fff; border-radius: 16px; box-shadow: var(--shadow); border-top: 0 !important; padding: 20px; }

  /* 푸터 */
  .pg-home .site-footer { margin-top: 72px; padding: 36px max(32px, calc((100% - 1136px) / 2)) 40px; font-size: 12.5px; }
  .pg-home .site-footer .ft-links { justify-content: flex-start; gap: 8px 28px; }
}
@media (min-width: 1024px) { .pg-home .live-all { display: none; } }

/* PC 홈 전용 목록 (휴대폰에서는 숨김) */
.pc-only { display: none; }
@media (min-width: 1024px) {
  .pg-home .home-dual { display: none; }
  .pg-home .pc-only { display: block; }
  .pg-home .pc-lists > .section { max-width: 1200px; margin: 0 auto; padding: 56px 32px 0; box-sizing: border-box; }
  .pc-ph .thumb { width: 100%; height: 100%; border-radius: 0; }
  .pc-ph .thumb img { width: 100%; height: 100%; object-fit: cover; }
  .pc-info .grade { margin-right: 2px; }
  .pc-brand { font-size: 12.5px; font-weight: 700; color: var(--gold-ink); letter-spacing: .02em; }
  .pc-name { font-size: 17px; font-weight: 700; color: var(--ink); letter-spacing: -.03em; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .pc-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--muted); }
  .pc-meta .dot { width: 3px; height: 3px; border-radius: 50%; background: #C4C9D2; }
  .pc-comp { font-size: 13px; color: var(--ink-2); }
  .pc-comp .full { color: var(--gold-ink); }
  .pc-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid #EFEDE7; }
  .pc-bids { font-size: 13.5px; color: var(--ink-2); }
  .pc-bids b { color: var(--navy); }
  .pc-tags { display: flex; gap: 4px; flex-wrap: wrap; }

  /* 프리미엄: 2단 가로 카드 */
  .pc-pgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .pc-pcard { display: flex; gap: 22px; padding: 18px; background: linear-gradient(135deg, #FFFDF7, #fff 60%); border: 1px solid #EDE3C6; border-radius: 22px; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
  .pc-pcard:hover, .pc-lcard:hover { transform: translateY(-3px); box-shadow: 0 14px 34px -14px rgba(14,17,22,.28); }
  .pc-pcard .pc-ph { position: relative; flex: 0 0 196px; height: 196px; border-radius: 16px; overflow: hidden; background: #F3F1EC; }
  .pc-pcard .pc-ph .prem { position: absolute; left: 10px; bottom: 10px; }
  .pc-pcard .pc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
  .pc-pcard .pc-tags:empty { display: none; }

  /* 실시간 등록: 4열 세로 카드 */
  .pc-lgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .pc-lcard { display: flex; flex-direction: column; background: #fff; border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
  .pc-lcard .pc-ph { position: relative; aspect-ratio: 1 / 1; background: #F3F1EC; }
  .pc-lcard .pc-ph .timer { position: absolute; right: 10px; top: 10px; background: rgba(255,255,255,.94); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
  .pc-lcard .pc-info { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 16px 16px 14px; }
  .pc-lcard .pc-name { font-size: 15.5px; min-height: 2.7em; }
}
@media (min-width: 1024px) {
  .pc-lcard .pc-ph { overflow: hidden; }
  .pc-lcard .pc-ph .thumb { position: absolute; inset: 0; height: auto; }
  .pc-lcard .pc-ph .timer { z-index: 1; }
  .pc-lcard .pc-meta { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; }
  .pc-comp { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* PC 홈: 최근 거래 결과 · 우수 회원사 (휴대폰에서는 숨김) */
@media (min-width: 1024px) {
  .pg-home .mo-results, .pg-home .mo-dealers { display: none; }
  .pg-home .pc-only > .section { max-width: 1200px; margin: 0 auto; padding: 56px 32px 0; box-sizing: border-box; }

  /* 거래 결과 */
  .pc-res-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 24px; }
  .pc-res-hero { display: flex; flex-direction: column; background: #0E1116; color: var(--on-navy); border-radius: 24px; overflow: hidden; text-decoration: none; box-shadow: var(--shadow); }
  .pc-res-ph { height: 300px; position: relative; }
  .pc-res-ph .thumb { width: 100%; height: 100%; border-radius: 0; }
  .pc-res-ph .thumb img { width: 100%; height: 100%; object-fit: cover; opacity: .92; }
  .pc-res-body { padding: 24px 28px 26px; display: flex; flex-direction: column; gap: 10px; }
  .pc-res-hero .pc-brand { color: var(--gold-hi); }
  .pc-res-name { font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
  .pc-res-big { display: flex; gap: 22px; flex-wrap: wrap; font-size: 14px; color: var(--on-navy-2); }
  .pc-res-big b { font-size: 26px; color: var(--on-navy); margin-right: 2px; font-family: var(--serif, Georgia, serif); }
  .pc-res-big span:nth-child(2) b { color: var(--gold-hi); }
  .pc-res-quote { margin: 6px 0 0; padding: 14px 16px; border-left: 3px solid #C9A227; background: rgba(255,255,255,.05); border-radius: 0 12px 12px 0; font-size: 14px; line-height: 1.6; color: var(--on-navy); }
  .pc-res-quote cite { display: block; margin-top: 6px; font-style: normal; font-size: 12px; color: var(--on-navy-2); }
  .pc-res-list { display: flex; flex-direction: column; gap: 10px; }
  .pc-res-row { display: flex; align-items: center; gap: 16px; padding: 12px 16px 12px 12px; background: #fff; border-radius: 16px; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .15s; }
  .pc-res-row:hover { transform: translateX(4px); }
  .pc-res-row .thumb { width: 60px; height: 60px; border-radius: 12px; flex: none; }
  .pc-res-rname { font-size: 14.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pc-res-bar { height: 8px; margin-top: 8px; background: #F1EEE6; border-radius: 4px; overflow: hidden; }
  .pc-res-bar i { display: block; height: 100%; background: linear-gradient(90deg, #C9A227, #E9C55A); border-radius: 4px; }
  .pc-res-num { text-align: right; flex: none; min-width: 96px; }
  .pc-res-num b { display: block; font-size: 16px; color: var(--green); }
  .pc-res-num span { font-size: 12px; color: var(--muted); }

  /* 우수 회원사: 잡지형 세로 카드 슬라이드 */
  .pc-dl-nav { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #D9D4C7; background: #fff; font-size: 22px; line-height: 1; color: var(--navy); cursor: pointer; }
  .pc-dl-nav:hover { background: #071E45; color: #fff; }
  .pc-dl-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 4px 18px; margin: 0 -4px; }
  .pc-dl-track::-webkit-scrollbar { display: none; }
  .pc-dl-card { flex: 0 0 calc((100% - 48px) / 3); scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border-radius: 26px; overflow: hidden; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
  .pc-dl-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -16px rgba(14,17,22,.3); }
  .pc-dl-cover { position: relative; height: 240px; background: #0E1116; }
  .pc-dl-cover > img, .pc-dl-col img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .pc-dl-col { display: grid; height: 100%; gap: 2px; }
  .pc-dl-col.n2 { grid-template-columns: 1fr 1fr; } .pc-dl-col.n3 { grid-template-columns: 1.4fr 1fr; grid-template-rows: 1fr 1fr; }
  .pc-dl-col.n3 img:first-child { grid-row: span 2; }
  .pc-dl-mono { height: 100%; display: grid; place-items: center; font-family: var(--serif, Georgia, serif); font-size: 64px; color: #C9A227; letter-spacing: .1em; background: radial-gradient(circle at 30% 20%, #23293A, #0E1116); }
  .pc-dl-no { position: absolute; left: 18px; top: 16px; font-family: var(--serif, Georgia, serif); font-size: 13px; letter-spacing: .14em; color: #fff; background: rgba(14,17,22,.55); padding: 4px 10px; border-radius: 999px; }
  .pc-dl-logo { position: absolute; left: 22px; bottom: -32px; border-radius: 18px; padding: 4px; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.18); }
  .pc-dl-logo .avatar { width: 64px !important; height: 64px !important; border-radius: 14px; }
  .pc-dl-body { padding: 44px 24px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
  .pc-dl-body h3 { margin: 2px 0 0; font-size: 22px; letter-spacing: -.03em; }
  .pc-dl-tag { margin: 6px 0 0; font-family: var(--serif, Georgia, serif); font-size: 17px; line-height: 1.45; color: var(--ink); }
  .pc-dl-intro { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .pc-dl-brands { display: flex; flex-wrap: wrap; gap: 6px; }
  .pc-dl-brands span { font-size: 12px; padding: 3px 10px; border-radius: 999px; background: #F5F1E6; color: var(--notice-ink); }
  .pc-dl-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 6px; padding: 12px 0; border-top: 1px solid #EFEDE7; border-bottom: 1px solid #EFEDE7; text-align: center; }
  .pc-dl-stats b { display: block; font-size: 15px; color: var(--navy); }
  .pc-dl-stats span { font-size: 11.5px; color: var(--muted); }
  .pc-dl-mgr { display: flex; gap: 12px; align-items: center; }
  .pc-dl-msg { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .pc-dl-go { margin-top: auto; padding-top: 8px; font-size: 13.5px; font-weight: 700; color: var(--gold-ink); }
}
@media (min-width: 1024px) {
  .pc-res-hero { background: #fff; color: inherit; }
  .pc-res-mosaic { flex: 1; min-height: 300px; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 3px; background: #0E1116; }
  .pc-res-mosaic .mz { position: relative; overflow: hidden; background: #F3F1EC; }
  .pc-res-mosaic .mz.big { grid-row: span 2; }
  .pc-res-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
  .pc-res-hero:hover .mz img { transform: scale(1.03); }
  .pc-res-mosaic .mz-tag { position: absolute; left: 14px; top: 14px; padding: 4px 11px; border-radius: 999px; background: rgba(14,17,22,.72); color: var(--gold-hi); font-size: 12px; font-weight: 700; }
  .pc-res-hero .pc-res-body { flex: none; padding: 16px 22px 18px; gap: 6px; background: #0E1116; color: var(--on-navy); }
  .pc-res-title { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
  .pc-res-title .pc-res-name { font-size: 17px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pc-res-hero .pc-res-big { gap: 18px; font-size: 13px; align-items: baseline; }
  .pc-res-hero .pc-res-big b { font-size: 20px; }
  .pc-res-to { margin-left: auto; color: var(--on-navy-2); font-size: 12.5px; }
}

/* PC 프리미엄 카드 v2: 큰 사진 + 작은 사진 4컷, 오른쪽 정보 정리 */
@media (min-width: 1024px) {
  .pc-pcard { gap: 22px; padding: 20px; align-items: stretch; }
  .pc-pleft { flex: 0 0 220px; display: flex; flex-direction: column; gap: 8px; }
  .pc-pcard .pc-ph { flex: none; width: 220px; height: 220px; border-radius: 16px; overflow: hidden; background: #F3F1EC; }
  .pc-pcard .pc-ph img.main { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; }
  .pc-shots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .pc-shot { padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; aspect-ratio: 1 / 1; background: #F3F1EC; cursor: pointer; }
  .pc-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .pc-shot.on { border-color: #C9A227; }
  .pc-shot:hover { border-color: #E2CF92; }
  .pc-pcard .pc-info { gap: 8px; }
  .pc-ptop { display: flex; align-items: center; gap: 8px; }
  .pc-ptop .prem { font-size: 10.5px; padding: 3px 8px; }
  .pc-pcard .pc-name { font-size: 19px; }
  .pc-pcard .pc-tags { min-height: 0; }
  .pc-comps { display: flex; flex-wrap: wrap; gap: 6px; }
  .pc-comps span { font-size: 12.5px; padding: 4px 10px; border-radius: 8px; background: #F6F4EE; color: var(--ink-2); }
  .pc-comps .full { background: #F5ECD2; color: var(--gold-ink); font-weight: 700; }
  .pc-comps .none { color: var(--muted); }
  .pc-pstats { margin-top: auto; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #EFE7CF; border-radius: 14px; background: #FFFCF3; }
  .pc-pstats > div { padding: 10px 12px; text-align: center; }
  .pc-pstats > div + div { border-left: 1px solid #EFE7CF; }
  .pc-pstats b { display: block; font-size: 15px; color: var(--navy); white-space: nowrap; }
  .pc-pstats b.urgent { color: var(--red-ink); }
  .pc-pstats b svg { display: none; }
  .pc-pstats span { font-size: 11.5px; color: var(--muted); }

  /* 거래 결과 모자이크: 컷 이름 */
  .pc-res-mosaic .mz-cap { position: absolute; left: 8px; bottom: 8px; padding: 2px 8px; border-radius: 999px; background: rgba(14,17,22,.6); color: #fff; font-size: 11px; }
}
/* PC 프리미엄 카드 v3: 상자 줄이고 글자 위주로 */
@media (min-width: 1024px) {
  .pc-pcard .pc-meta .grade { background: none; padding: 0; width: auto; height: auto; color: var(--gold-ink); font-weight: 800; }
  .pc-pline { font-size: 13.5px; color: var(--ink-2); line-height: 1.5; }
  .pc-pline .k { display: inline-block; width: 34px; color: var(--muted); font-size: 12.5px; }
  .pc-pline b { color: var(--gold-ink); }
  .pc-pstats { border: 0; border-top: 1px solid #EFEDE7; border-radius: 0; background: none; padding-top: 4px; }
  .pc-pstats > div { padding: 8px 4px 0; text-align: left; }
  .pc-pstats > div + div { border-left: 0; }
  .pc-pstats b { font-size: 15.5px; }
}
/* PC 프리미엄 카드 v4: 3열 세로형 */
@media (min-width: 1024px) {
  .pc-pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
  .pc-pcard { flex-direction: column; gap: 16px; padding: 16px 16px 18px; }
  .pc-pleft { flex: none; }
  .pc-pcard .pc-ph { width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .pc-shots { gap: 8px; }
  .pc-shot { aspect-ratio: 4 / 3; }
  .pc-pcard .pc-info { padding: 0 4px; gap: 7px; }
  .pc-pcard .pc-name { font-size: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .pc-pcard .pc-meta { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; font-size: 12.5px; }
  .pc-pline { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pc-pstats { margin-top: 8px; padding-top: 2px; }
  .pc-pstats > div { padding: 10px 0 0; display: flex; flex-direction: column; gap: 2px; }
  .pc-pstats span { font-size: 11.5px; color: var(--muted); white-space: nowrap; }
  .pc-pstats b { font-size: 16px; }
}
/* PC 프리미엄 카드 v5: 등급 크게, 요약 칸 간격 맞춤 */
@media (min-width: 1024px) {
  .pc-ptop .pc-grade { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
  .pc-ptop .pc-grade b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: #F5ECD2; color: var(--gold-ink); font-family: var(--serif, Georgia, serif); font-size: 15px; }
  .pc-ptop .pc-grade.g-N b { background: #E8F3EC; color: var(--green); }
  .pc-ptop .pc-grade.g-A b { background: #E8EEF8; color: var(--blue); }
  .pc-ptop .pc-grade.g-B b, .pc-ptop .pc-grade.g-C b { background: #F1F2F4; color: var(--ink-2); }
  .pc-pstats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pc-pstats > div { align-items: center; text-align: center; }
  .pc-pstats > div + div { border-left: 1px solid #EFEDE7; }
  .pc-pstats > div { padding: 10px 4px 0; }
}
@media (min-width: 1024px) {
  .pc-pcard .pc-ph { position: relative; }
  .pc-pcard .pc-ph .timer { position: absolute; right: 10px; top: 10px; z-index: 1; background: rgba(255,255,255,.94); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
}
/* PC 최근 거래 결과 v3: 판매 완료 카드 4장 */
@media (min-width: 1024px) {
  .pc-rgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .pc-rcard { display: flex; flex-direction: column; background: #fff; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
  .pc-rcard:hover { transform: translateY(-3px); box-shadow: 0 14px 34px -14px rgba(14,17,22,.28); }
  .pc-rcard .pc-ph { position: relative; aspect-ratio: 4 / 3; background: #F3F1EC; overflow: hidden; }
  .pc-rcard .pc-ph .thumb { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; }
  .pc-rcard .pc-ph .thumb img { width: 100%; height: 100%; object-fit: cover; }
  .pc-sold { position: absolute; left: 10px; top: 10px; padding: 4px 10px; border-radius: 999px; background: #0E1116; color: var(--gold-hi); font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
  .pc-ago { position: absolute; right: 10px; top: 10px; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ink-2); font-size: 11.5px; }
  .pc-rbody { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
  .pc-rname { font-size: 15.5px; font-weight: 700; letter-spacing: -.03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: -4px; }
  .pc-rhi { padding: 12px 14px; border-radius: 14px; background: #F2F8F4; }
  .pc-rhi b { display: block; font-size: 22px; color: var(--green); letter-spacing: -.02em; }
  .pc-rhi span { font-size: 12.5px; color: var(--green); }
  .pc-rfacts { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--ink-2); }
  .pc-rfacts b { color: var(--navy); }
  .pc-rfacts i { width: 1px; height: 12px; background: #E5E7EB; }
  .pc-rto { margin-top: auto; padding-top: 10px; border-top: 1px solid #EFEDE7; display: flex; justify-content: space-between; font-size: 12.5px; color: var(--muted); }
  .pc-rto .stars { color: #C9A227; letter-spacing: 1px; }
}
/* PC 3단계 안내: 실사 사진 배경 카드 */
@media (min-width: 1024px) {
  .pg-home .mo-steps { display: none; }
  .pc-sgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .pc-step { position: relative; height: 340px; border-radius: 24px; overflow: hidden; color: #fff; text-decoration: none; box-shadow: var(--shadow); background: #0E1116; }
  .pc-step img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
  .pc-step:hover img { transform: scale(1.04); }
  .pc-step::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,17,22,.15) 0%, rgba(14,17,22,.35) 40%, rgba(14,17,22,.92) 100%); }
  .pc-step-in { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 26px 26px 28px; display: flex; flex-direction: column; gap: 8px; }
  .pc-step-no { position: absolute; left: 26px; bottom: 100%; font-family: var(--serif, Georgia, serif); font-size: 64px; line-height: 1; color: var(--gold-hi); margin-bottom: -6px; }
  .pc-step-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); color: var(--gold-hi); }
  .pc-step b { font-size: 21px; letter-spacing: -.03em; }
  .pc-step p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--on-navy-2); }
  .pc-step-cta { display: flex; width: fit-content; margin: 24px auto 0; height: 52px; padding: 0 28px; border-radius: 26px; font-size: 15.5px; gap: 10px; }
}
/* PC 메인 배너 정리 · VIP 배경 (휴대폰 영향 없음) */
.hero-trust { display: none; }
@media (min-width: 1024px) {
  .pg-home .hero .pills { display: none; }
  .pg-home .hero.has-photo .hero-body { padding: 60px 64px 52px; max-width: 700px; }
  .pg-home .hero h1 { margin: 14px 0 16px; }
  .pg-home .hero-cta { margin-top: 30px; }
  .pg-home .hero-cta .btn { height: 52px; min-width: 190px; justify-content: center; }
  .pg-home .hero-trust { display: grid; grid-template-columns: repeat(3, auto); gap: 0; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); width: fit-content; }
  .pg-home .hero-trust > div { display: flex; flex-direction: column; gap: 3px; padding: 0 26px; }
  .pg-home .hero-trust > div:first-child { padding-left: 0; }
  .pg-home .hero-trust > div + div { border-left: 1px solid rgba(255,255,255,.14); }
  .pg-home .hero-trust b { display: flex; align-items: center; gap: 7px; font-size: 15px; color: #F5F2EA; }
  .pg-home .hero-trust b i { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #C9A227; color: #0E1116; font-size: 11px; font-style: normal; font-weight: 900; }
  .pg-home .hero-trust span { font-size: 12.5px; color: #A9AEB8; }
  .pg-home .vip-card { background: linear-gradient(100deg, #FBF6E9 0%, #F6EFDC 100%); border: 1px solid #EEDFB6; box-shadow: none; }
  .pg-home .vip-card .arrow-dot { background: #fff; }
}
/* PC 실시간 등록: 24시간 안에 등록된 매물 N 표시 */
@media (min-width: 1024px) {
  .pc-new { position: absolute; left: 10px; top: 10px; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #E5484D; color: #fff; font-size: 13px; font-weight: 900; box-shadow: 0 0 0 0 rgba(229,72,77,.55); animation: pcNew 1.6s ease-out infinite; }
  @keyframes pcNew { 0% { box-shadow: 0 0 0 0 rgba(229,72,77,.55); opacity: 1; } 50% { opacity: .78; } 70% { box-shadow: 0 0 0 10px rgba(229,72,77,0); } 100% { box-shadow: 0 0 0 0 rgba(229,72,77,0); opacity: 1; } }
}
@media (prefers-reduced-motion: reduce) { .pc-new { animation: none; } }
@media (min-width: 1024px) {
  .pc-step p { min-height: 3.2em; }
}
/* PC 상단 메뉴 v2: 두 줄 구성 */
@media (min-width: 1024px) {
  .gnb { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom: 0; }
  .gnb .gnb-in { height: auto; gap: 0; }
  .gnb-top { background: #0E1116; color: var(--on-navy-2); font-size: 12.5px; }
  .gnb-top .gnb-in { height: 36px; justify-content: space-between; }
  .gnb-promise b { color: var(--gold-hi); font-weight: 700; }
  .gnb-util { display: flex; align-items: center; gap: 14px; }
  .gnb-util a { color: var(--on-navy-2); text-decoration: none; }
  .gnb-util a:hover { color: #fff; }
  .gnb-util i { width: 1px; height: 10px; background: #3A3F48; }
  .gnb-main { background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid #ECE8DF; box-shadow: 0 4px 18px -14px rgba(14,17,22,.25); }
  .gnb-main .gnb-in { height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
  .gnb-main .logo .wm { font-size: 30px; }
  .gnb-menu { justify-content: center; gap: 40px; }
  .gnb-menu a { font-size: 16px; padding: 30px 0; }
  .gnb-menu a.on::after { bottom: 0; height: 3px; }
  .gnb-right { justify-self: end; gap: 6px; }
  .gnb-ic { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 64px; padding: 6px 8px; border-radius: 12px; color: var(--ink) !important; text-decoration: none; font-size: 12px !important; font-weight: 600 !important; }
  .gnb-ic:hover { background: #F5F2EA; }
  .gnb-ic.on { color: var(--navy) !important; }
  .gnb-ic .count { top: 0; right: 10px; }
  .gnb-cta { margin-left: 10px; height: 46px; padding: 0 22px; border-radius: 23px; background: #0E1116; color: var(--on-navy); font-size: 14.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; width: auto; box-shadow: none; }
  .gnb-cta .arr { color: var(--gold-hi); display: inline-flex; }
  .gnb-cta:hover { background: #1F2A44; }
}
/* PC 상단 메뉴 v3: 3단 (작은 링크 / 로고·큰 메뉴 / 카테고리 탭) */
@media (min-width: 1024px) {
  .gnb { background: #fff; border-bottom: 1px solid #ECE8DF; box-shadow: none; }
  .gnb .gnb-in { max-width: 1200px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; }
  .gnb-util-row .gnb-in { height: 34px; display: flex; justify-content: flex-end; align-items: center; gap: 22px; }
  .gnb-util-row a { font-size: 12.5px; color: var(--muted); text-decoration: none; }
  .gnb-util-row a:hover { color: var(--ink); }
  .gnb-main { background: #fff; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .gnb-main .gnb-in { height: 70px; display: flex; align-items: center; gap: 0; }
  .gnb-main .logo .wm { font-size: 32px; }
  .gnb-big { margin-left: auto; display: flex; gap: 34px; margin-right: 34px; }
  .gnb-big a { font-size: 21px; font-weight: 800; color: var(--ink); text-decoration: none; letter-spacing: -.03em; }
  .gnb-big a:hover { color: var(--navy); }
  .gnb-big a.on { color: var(--navy); }
  .gnb-big a.on::after { content: ''; display: block; height: 3px; margin-top: 4px; border-radius: 2px; background: #C9A227; }
  .gnb-icons { display: flex; align-items: center; gap: 8px; }
  .gnb-icons .gnb-ic { min-width: 0; width: 44px; height: 44px; padding: 0; border: 0; background: none; border-radius: 12px; display: grid; place-items: center; cursor: pointer; color: var(--ink) !important; }
  .gnb-icons .gnb-ic:hover, .gnb-icons .gnb-ic.on { background: #F5F2EA; }
  .gnb-icons .gnb-ic .count { top: 2px; right: 2px; }
  .gnb-tabs .gnb-in { height: 50px; display: flex; align-items: center; gap: 0; }
  .gnb-cats, .gnb-tabs .gnb-menu { display: flex; gap: 30px; flex: none; }
  .gnb-tabs a, .gnb-cats .soon { position: relative; font-size: 15.5px; font-weight: 600; color: var(--ink); text-decoration: none; padding: 14px 0; }
  .gnb-tabs a:hover { color: var(--navy); }
  .gnb-tabs a.on { color: var(--ink); font-weight: 800; }
  .gnb-tabs a.on::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #0E1116; }
  .gnb-cats .soon { color: var(--faint); cursor: default; }
  .gnb-sep { width: 1px; height: 16px; background: #E1DDD3; margin: 0 28px; }
  .gnb-tabs .gnb-menu a.gold { color: var(--gold-ink); font-weight: 800; }
  .gnb-tabs .gnb-menu a.accent { color: var(--red-ink); font-weight: 800; }
  .gnb-tabs .gnb-menu a.on::after { bottom: 0; height: 3px; }
  .gnb-tabs .gnb-menu { flex: 1; justify-content: flex-start; }
  .gnb-tabs .gnb-menu a.accent { margin-left: auto; }
  /* 전체 메뉴 */
  .gnb-all { border-top: 1px solid #ECE8DF; background: #fff; box-shadow: 0 18px 30px -20px rgba(14,17,22,.25); }
  .gnb-all .gnb-in { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-top: 26px; padding-bottom: 30px; }
  .gnb-all b { display: block; font-size: 13px; color: var(--gold-ink); margin-bottom: 10px; }
  .gnb-all a { display: block; font-size: 14.5px; color: var(--ink); text-decoration: none; padding: 6px 0; }
  .gnb-all a:hover { color: var(--navy); text-decoration: underline; }
}

/* ============ PC 화면 (1024px 이상) · 고객 하위 화면 공통 ============ */
@media (min-width: 1024px) {
  .phone.cust:not(.pg-home) { max-width: none; margin: 0; border-radius: 0; box-shadow: none; background: var(--paper); padding-bottom: 0; min-height: calc(100vh - 160px); }
  /* 모바일 상단 바 → PC 제목 영역 */
  .phone.cust:not(.pg-home) > .topbar { max-width: 1200px; margin: 0 auto; padding: 40px 32px 6px; height: auto; min-height: 0; background: none; color: var(--ink); justify-content: flex-start; gap: 14px; box-sizing: border-box; position: static; }
  .phone.cust:not(.pg-home) > .topbar .title { font-size: 30px; font-weight: 800; letter-spacing: -.035em; color: var(--ink); }
  .phone.cust:not(.pg-home) > .topbar .icon-btn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #E1DDD3; background: #fff; color: var(--ink-2); display: grid; place-items: center; font-size: 18px; flex: none; }
  .phone.cust:not(.pg-home) > .topbar .icon-btn:hover { background: #F5F2EA; }
  .phone.cust:not(.pg-home) > .topbar > :last-child:not(.title) { margin-left: auto; }
  /* 본문 폭: 기본은 읽기 좋은 880px */
  .phone.cust:not(.pg-home) > :not(.topbar):not(.site-footer):not(.cta-fixed) { max-width: 880px; margin-left: auto; margin-right: auto; box-sizing: border-box; }
  .phone.cust:not(.pg-home) > .section { padding: 24px 32px 8px; }
  /* 푸터: 전체 폭 */
  .phone.cust .site-footer { margin-top: 72px; padding: 36px max(32px, calc((100% - 1136px) / 2)) 40px; font-size: 12.5px; }
  .phone.cust .site-footer .ft-links { justify-content: flex-start; gap: 8px 28px; }

  /* 넓은 화면을 쓰는 목록·상세 */
  .pg-live > :not(.topbar):not(.site-footer), .pg-reviews > :not(.topbar):not(.site-footer), .pg-view > :not(.topbar):not(.site-footer), .pg-result > :not(.topbar):not(.site-footer), .pg-review > :not(.topbar):not(.site-footer), .pg-dealer > :not(.topbar):not(.site-footer) { max-width: 1200px !important; }

  /* 실시간 견적: 카드 그리드 */
  .pg-live .mo-list { display: none; }
  .pg-live .pc-only { display: block; }
  .pg-live .seg-tabs { max-width: 360px; }
  .pc-lcard .prem.sm { font-size: 9.5px; padding: 2px 6px; vertical-align: 1px; }

  /* 후기: 2열 카드 */
  .pg-reviews .rv-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; background: none; box-shadow: none; border: 0; }
  .pg-reviews .rv-list > .review { background: #fff; border-radius: var(--r-card); box-shadow: var(--shadow); border: 0 !important; padding: 18px; }

  /* 견적 상세 · 거래 결과 · 후기 상세: 왼쪽 사진, 오른쪽 정보 */
  .pg-view > .section.stack, .pg-result > .section.stack, .pg-review > .section.stack { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 20px 32px; align-items: start; }
  .pg-view > .section.stack > :first-child, .pg-result > .section.stack > :first-child, .pg-review > .section.stack > :first-child { grid-column: 1; grid-row: 1 / span 30; position: sticky; top: 170px; }
  .pg-view > .section.stack > :not(:first-child), .pg-result > .section.stack > :not(:first-child), .pg-review > .section.stack > :not(:first-child) { grid-column: 2; }
  .pg-result .btn-cta, .pg-review .btn-cta { width: fit-content; }

  /* 회원사 프로필 */
  .pg-dealer > .cover { height: 200px; border-radius: 24px; margin-top: 16px !important; }
  .pg-dealer > .cover .avatar { left: 32px; bottom: -36px; width: 88px !important; height: 88px !important; }
  .pg-dealer > .section { padding-top: 56px !important; }
  .pg-dealer .mgr-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pg-dealer .store-photos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
  .pg-dealer .store-photos img { width: 100%; height: 180px; object-fit: cover; border-radius: 14px; }
  .pg-dealer .btn-navy { width: fit-content; padding: 0 28px; }

  /* 로그인·본인인증: 가운데 카드 */
  .pg-login > :not(.topbar):not(.site-footer), .pg-verify > :not(.topbar):not(.site-footer) { max-width: 520px !important; }
  .pg-login .auth, .pg-verify .auth { background: #fff; border-radius: 24px; box-shadow: var(--shadow); padding: 36px 36px 32px; margin-top: 12px; }

  /* 버튼이 화면 전체로 늘어나지 않게 */
  .phone.cust:not(.pg-home) .btn-cta { max-width: 420px; }
}
@media (min-width: 1024px) { .phone.cust { overflow: visible; } }

@media (min-width: 1024px) {
  /* 화면 맨 아래 큰 버튼은 가운데 적당한 폭으로 */
  .phone.cust:not(.pg-home) .section > .btn:not(.btn-sm):not(.btn-fit), .phone.cust:not(.pg-home) .section > a.btn:not(.btn-sm) { max-width: 420px; margin-left: auto; margin-right: auto; width: 100%; }
}
@media (min-width: 1024px) {
  /* 견적 신청: 사진 칸 4열 */
  .pg-sell .grid2:has(> .photo-slot) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .pg-sell .photo-slot { aspect-ratio: 1 / 1; height: auto; }
}
@media (min-width: 1024px) {
  /* 로고가 들어간 모바일 상단 바는 PC에서 숨김 (상단 메뉴에 로고가 있음) */
  .phone.cust:not(.pg-home) > .topbar.light { display: none; }
  .phone.cust:not(.pg-home) > .topbar.light + * { margin-top: 32px; }
}
@media (min-width: 1024px) {
  .phone.cust:not(.pg-home) > .topbar:has(.logo) { display: none; }
  .phone.cust:not(.pg-home) > .topbar:has(.logo) + * { margin-top: 32px; }
}
@media (min-width: 1024px) {
  /* 상세 2단: 사진 고정 해제 (사진과 정보가 함께 스크롤) */
  .pg-view > .section.stack > :first-child, .pg-result > .section.stack > :first-child, .pg-review > .section.stack > :first-child { position: static; }
}
/* PC 상단 메뉴 v4: 간소화 (2줄) */
@media (min-width: 1024px) {
  .gnb-main .gnb-in { height: 80px; }
  .gnb-big { margin-right: 0; gap: 40px; }
  .gnb-big a { font-size: 18px; font-weight: 700; }
  .gnb-big a.on::after { margin-top: 6px; }
  .gnb-dot { display: inline-grid; place-items: center; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: #E5484D; color: #fff; font-size: 10.5px; font-weight: 800; vertical-align: 1px; }
}
@media (min-width: 1024px) {
  .gnb-dealer { margin-right: auto; display: flex; align-items: center; gap: 10px; }
  .gnb-dealer .tag { font-size: 11px; font-weight: 700; color: #fff; background: #1F2A44; padding: 3px 8px; border-radius: 6px; }
  .gnb-util-row .gnb-dealer a { color: var(--gold-ink); font-weight: 600; }
  .gnb-util-row .gnb-dealer a:hover { color: var(--notice-ink); }
  .gnb-dealer i { width: 1px; height: 10px; background: #D9D4C7; }
}
/* PC 회원사 랭킹 */
@media (min-width: 1024px) {
  .pg-rank > :not(.topbar):not(.site-footer) { max-width: 1200px !important; }
  .pg-rank .mo-list { display: none; }
  .pg-rank .pc-only { display: block; }
  .pg-rank .seg-tabs { max-width: 480px; margin-bottom: 20px; }
  .pc-podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 28px; }
  .pc-pod { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 30px 22px 22px; background: #fff; border-radius: 24px; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .15s; }
  .pc-pod:hover { transform: translateY(-3px); }
  .pc-pod.n1 { background: linear-gradient(180deg, #FFF8E6, #fff 55%); border: 1px solid #EEDFB6; }
  .pc-pod-no { position: absolute; left: 20px; top: 16px; font-family: var(--serif, Georgia, serif); font-size: 40px; line-height: 1; color: #C9A227; }
  .pc-pod.n2 .pc-pod-no { color: var(--muted); } .pc-pod.n3 .pc-pod-no { color: var(--amber-ink); }
  .pc-pod .avatar { width: 72px !important; height: 72px !important; border-radius: 18px; margin-bottom: 6px; }
  .pc-pod b { font-size: 19px; letter-spacing: -.03em; }
  .pc-pod p { margin: 4px 0 6px; font-size: 13.5px; color: var(--ink-2); min-height: 2.8em; }
  .pc-pod-stats { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #EFEDE7; padding-top: 12px; }
  .pc-pod-stats > div { display: flex; flex-direction: column; gap: 2px; }
  .pc-pod-stats span { font-size: 11px; color: var(--muted); }
  .pc-pod-stats b { font-size: 14px; color: var(--navy); }
  .pc-pod-stats b small, .pc-rt-row .v small { display: none; }
  .pc-pod-stats .on b { color: var(--gold-ink); }
  .pc-rtable { background: #fff; border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; }
  .pc-rt-head, .pc-rt-row { display: grid; grid-template-columns: 70px 1.6fr 1.6fr 0.9fr 0.9fr 0.8fr 0.8fr 90px; align-items: center; gap: 10px; padding: 0 24px; }
  .pc-rt-head { height: 48px; background: #F8F6F0; font-size: 12.5px; color: var(--muted); font-weight: 600; }
  .pc-rt-head .on { color: var(--gold-ink); }
  .pc-rt-row { height: 76px; border-top: 1px solid #F0EDE6; color: inherit; text-decoration: none; font-size: 14px; }
  .pc-rt-row:hover { background: #FCFBF7; }
  .pc-rt-row .no { font-family: var(--serif, Georgia, serif); font-size: 22px; color: #C9A227; }
  .pc-rt-row .who { display: flex; align-items: center; gap: 12px; min-width: 0; }
  .pc-rt-row .who b { display: block; font-size: 15px; }
  .pc-rt-row .who small { font-size: 12px; color: var(--muted); }
  .pc-rt-row .brands { font-size: 13px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pc-rt-row .v { color: var(--ink-2); font-weight: 600; }
  .pc-rt-row .v.on { color: var(--navy); font-weight: 800; }
  .pc-rt-row .go { font-size: 13px; color: var(--gold-ink); font-weight: 700; text-align: right; }
}
/* PC 회원사 프로필 표지 */
.pc-cover { display: none; }
@media (min-width: 1024px) {
  .pg-dealer > .cover { height: 280px; background: #0E1116; overflow: visible; }
  .pg-dealer .pc-cover { display: block; position: absolute; inset: 0; border-radius: 24px; overflow: hidden; background: radial-gradient(circle at 25% 20%, #23293A, #0E1116 70%); }
  .pg-dealer .pc-cover > img, .pc-cover-mz img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .pc-cover-mz { display: grid; height: 100%; gap: 3px; grid-template-columns: repeat(var(--c, 3), 1fr); }
  .pc-cover-mz.n1 { --c: 1; } .pc-cover-mz.n2 { --c: 2; } .pc-cover-mz.n3 { --c: 3; } .pc-cover-mz.n4 { --c: 4; } .pc-cover-mz.n5 { --c: 5; }
  .pg-dealer .pc-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,17,22,.92) 0%, rgba(14,17,22,.6) 45%, rgba(14,17,22,.25) 100%); }
  .pc-cover-txt { position: absolute; z-index: 1; left: 150px; bottom: 34px; display: flex; flex-direction: column; gap: 6px; color: var(--on-navy); }
  .pc-cover-txt .eyebrow { color: var(--gold-hi); font-size: 12px; letter-spacing: .08em; }
  .pc-cover-txt b { font-size: 32px; letter-spacing: -.03em; }
  .pc-cover-txt span:last-child:not(.eyebrow) { font-size: 15px; color: var(--on-navy-2); }
  .pg-dealer > .cover .avatar { z-index: 2; left: 32px; bottom: 28px; }
  .pg-dealer > .section { padding-top: 28px !important; }
  .pg-dealer > .section > b:first-child, .pg-dealer > .section > b:first-child + .small { display: none; }
}
@media (min-width: 1024px) {
  /* 3단계 사진: 흑백 톤, 마우스 올리면 색이 은은하게 */
  .pc-step img { filter: grayscale(1) contrast(1.08) brightness(.92); transition: transform .4s, filter .5s; }
  .pc-step:hover img { filter: grayscale(.15) contrast(1.02) brightness(.95); }
}
@media (min-width: 1024px) {
  /* 상세 2단: 빈 줄 간격이 쌓이지 않게 (행 간격 0 + 오른쪽 항목 아래 여백) */
  .pg-view > .section.stack, .pg-result > .section.stack, .pg-review > .section.stack { row-gap: 0; }
  .pg-view > .section.stack > :not(:first-child), .pg-result > .section.stack > :not(:first-child), .pg-review > .section.stack > :not(:first-child) { margin-bottom: 18px; }
  .pg-view .pc-view-main { overflow: hidden; }
  .pg-view .pc-view-main img.main { transition: transform .2s; }
  .pg-view .pc-only.pc-view-shots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 10px 16px 0; }
  .pg-view .pc-similar { display: block; max-width: 1200px !important; padding-top: 40px !important; }
}
@media (min-width: 1024px) {
  .pg-view .promo-dark { display: none; }
  .pg-view .pc-only.pc-spec { display: block; padding: 20px 22px 12px; }
  .pc-spec-h { font-size: 16px; font-weight: 800; margin-bottom: 8px; }
  .pc-spec table { width: 100%; border-collapse: collapse; font-size: 14px; }
  .pc-spec th { width: 110px; text-align: left; font-weight: 500; color: var(--muted); padding: 10px 0; border-top: 1px solid #F0EDE6; vertical-align: top; }
  .pc-spec td { padding: 10px 0; border-top: 1px solid #F0EDE6; color: var(--ink); }
  .pc-spec tr:first-child th, .pc-spec tr:first-child td { border-top: 0; }
  .pc-spec td .timer { margin-left: 8px; }
}
@media (min-width: 1024px) { .pg-view .pc-only.pc-spec { border-top: 1px solid #F0EDE6; margin: 4px 16px 0; padding: 16px 4px 10px; } }
@media (min-width: 1024px) {
  .pg-view .pc-only.pc-spec { border-top: 0; margin: 0 0 18px; padding: 20px 22px 14px; }
  .pc-spec table, .pc-spec tbody { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
  .pc-spec tbody { grid-column: 1 / -1; }
  .pc-spec tr { display: flex; border-top: 1px solid #F0EDE6; }
  .pc-spec tr:nth-child(-n+2) { border-top: 0; }
  .pc-spec th, .pc-spec td { border-top: 0 !important; padding: 9px 0; font-size: 13.5px; }
  .pc-spec th { width: 84px; flex: none; }
  .pc-spec td { flex: 1; min-width: 0; }
}
@media (min-width: 1024px) {
  .pg-view > .section.stack { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .pg-view .pc-view-main img.main { aspect-ratio: 1 / 1 !important; }
}
@media (min-width: 1024px) {
  .pc-spec .pc-lock { margin-left: 8px; font-size: 12px; font-weight: 600; color: var(--gold-ink); background: #F7F0DC; padding: 3px 9px; border-radius: 999px; vertical-align: 2px; }
  .pc-spec.locked .blur { filter: blur(5px); user-select: none; pointer-events: none; opacity: .7; }
  .pc-lock-note { margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: #F8F6F0; font-size: 13px; color: var(--ink-2); line-height: 1.6; }
  .pc-lock-note a { color: var(--gold-ink); font-weight: 700; text-decoration: none; margin-left: 4px; }
}
/* PC 입점 안내 */
@media (min-width: 1024px) {
  .pg-partner > :not(.topbar):not(.site-footer) { max-width: 1200px !important; }
  .pg-partner .hero { padding: 48px 56px 44px !important; border-radius: 28px; }
  .pg-partner .hero h1 { font-size: 40px !important; line-height: 1.25; }
  .pg-partner .hero p { font-size: 16px; }
  .pg-partner > .section.stack { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .pg-partner .p-why, .pg-partner .p-steps { grid-column: 1 / -1; }
  .pg-partner .card > b:first-child { font-size: 18px; }
  .pg-partner .p-why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
  .pg-partner .p-why > b { grid-column: 1 / -1; }
  .pg-partner .p-why .feat { flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px; border-radius: 16px; background: #F8F6F0; }
  .pg-partner .p-why .feat .feat-ic { width: 40px; height: 40px; }
  .pg-partner .p-why .feat b { font-size: 15px; }
  .pg-partner .p-why .feat .tiny { font-size: 13px; line-height: 1.6; margin-top: 4px; }
  .pg-partner .p-steps .tl { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .pg-partner .p-steps .tl-row { flex-direction: column; gap: 10px; padding: 16px; border-radius: 16px; background: #F8F6F0; }
  .pg-partner .p-steps .tl-row::before, .pg-partner .p-steps .tl-row::after { display: none; }
  .pg-partner .p-steps .tl-row b { font-size: 15px; }
  .pg-partner .p-steps .tl-row .tiny { font-size: 13px; line-height: 1.6; }
  .pg-partner .small { font-size: 14.5px; line-height: 1.75; }
  /* 신청 버튼: 나란히, 아래 안내는 한 줄 */
  .pg-partner > .section.stack > .btn-cta { grid-column: 1; max-width: none !important; width: 100%; margin: 12px 0 0; justify-self: end; max-width: 420px !important; }
  .pg-partner > .section.stack > .btn-line { grid-column: 2; max-width: 420px !important; margin: 12px 0 0; height: 100%; min-height: 56px; }
  .pg-partner .p-note { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .phone.cust.pg-partner > .section.stack > .btn-cta { justify-self: end !important; width: 360px !important; max-width: 360px !important; margin: 16px 0 0 !important; height: 60px; }
  .phone.cust.pg-partner > .section.stack > .btn-line { justify-self: start !important; width: 360px !important; max-width: 360px !important; margin: 16px 0 0 !important; height: 60px; min-height: 0; }
}
@media (min-width: 1024px) {
  .gnb-user { display: flex; align-items: center; gap: 18px; padding-left: 18px; margin-left: 4px; border-left: 1px solid #E5E1D8; }
  .gnb-user > b { font-size: 12.5px; color: var(--navy); }
  .gnb-user a.on { color: var(--navy) !important; font-weight: 700; }
  .gnb-user button { border: 0; background: none; padding: 0; font: inherit; font-size: 12.5px; color: var(--muted); cursor: pointer; }
  .gnb-user button:hover { color: var(--ink); }
  .gnb-dot.soft { background: #1F2A44; }
}
/* PC 견적함 */
@media (min-width: 1024px) {
  .pg-box > :not(.topbar):not(.site-footer) { max-width: 1200px !important; }
  .pg-box .mo-box { display: none; }
  .pg-box .pc-only.pc-box { display: block; padding: 8px 32px 0; }
  .pc-bsum { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 14px; align-items: stretch; margin-bottom: 22px; }
  .pc-bsum > div { background: #fff; border-radius: 18px; box-shadow: var(--shadow); padding: 16px 20px; display: flex; flex-direction: column; gap: 4px; }
  .pc-bsum > div span { font-size: 12.5px; color: var(--muted); }
  .pc-bsum > div b { font-size: 26px; color: var(--navy); font-family: var(--serif, Georgia, serif); }
  .pc-bsum > div b small { font-size: 13px; margin-left: 3px; font-family: var(--sans); color: var(--muted); }
  .pc-bsum > div.hot { background: #FFF8E6; box-shadow: 0 0 0 1.5px #E9C55A; }
  .pc-bsum > div.hot b { color: var(--gold-ink); }
  .pc-bsum .btn { align-self: center; height: 52px; padding: 0 24px; border-radius: 26px; white-space: nowrap; }
  .pc-btabs { display: flex; gap: 8px; margin-bottom: 18px; }
  .pc-btabs button { height: 40px; padding: 0 18px; border-radius: 20px; border: 1px solid #E1DDD3; background: #fff; font-size: 14px; color: var(--ink-2); cursor: pointer; }
  .pc-btabs button b { margin-left: 4px; color: var(--muted); }
  .pc-btabs button.on { background: #0E1116; color: #fff; border-color: #0E1116; }
  .pc-btabs button.on b { color: var(--gold-hi); }
  .pc-bgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .pc-bcard { display: flex; flex-direction: column; background: #fff; border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; color: inherit; text-decoration: none; transition: transform .15s; }
  .pc-bcard:hover { transform: translateY(-3px); }
  .pc-bcard.attn { box-shadow: 0 0 0 2px #D9B84C, 0 10px 26px rgba(217,184,76,.28); animation: attnGlow 1.6s ease-in-out infinite; }
  .pc-bcard.is-new { box-shadow: 0 0 0 1.5px #1F2A44, var(--shadow); }
  .pc-bcard .pc-ph { position: relative; aspect-ratio: 4 / 3; background: #F3F1EC; overflow: hidden; }
  .pc-bcard .pc-ph .thumb { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; }
  .pc-bcard .pc-ph .thumb img { width: 100%; height: 100%; object-fit: cover; }
  .pc-bcard .pc-ph .timer { position: absolute; right: 10px; top: 10px; background: rgba(255,255,255,.94); }
  .pc-bbody { padding: 14px 18px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
  .pc-bsp { height: 18px; }
  .pc-bbody .pc-name { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .pc-bsteps { display: flex; gap: 4px; margin-top: 8px; }
  .pc-bsteps i { flex: 1; height: 5px; border-radius: 3px; background: #ECE8DF; }
  .pc-bsteps i.on { background: #C9A227; }
  .pc-bstep-l { font-size: 12px; color: var(--gold-ink); font-weight: 600; }
  .pc-bfoot { margin-top: auto; padding-top: 12px; border-top: 1px solid #F0EDE6; display: flex; justify-content: space-between; align-items: baseline; }
  .pc-bfoot .amount { font-size: 22px; }
}
@media (min-width: 1024px) { .pc-bbody .new-tag, .pc-bbody .attn-tag { align-self: flex-start; } }
/* PC 마이페이지 */
@media (min-width: 1024px) {
  .pg-my > :not(.topbar):not(.site-footer) { max-width: 1200px !important; }
  .pg-my .mo-my { display: none; }
  .pg-my .pc-only.pc-my { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 28px; align-items: start; padding: 0 32px; margin-top: 36px; }
  .pc-my-side { position: sticky; top: 130px; background: #fff; border-radius: 22px; box-shadow: var(--shadow); padding: 24px 20px 18px; display: flex; flex-direction: column; gap: 18px; }
  .pc-my-prof { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
  .pc-my-av { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: #0E1116; color: var(--gold-hi); font-size: 26px; font-weight: 800; margin-bottom: 4px; }
  .pc-my-prof b { font-size: 19px; }
  .pc-my-prof > span:not(.badge) { font-size: 12.5px; color: var(--muted); }
  .pc-my-stats { display: grid; grid-template-columns: repeat(3, 1fr); background: #F8F6F0; border-radius: 14px; padding: 12px 6px; text-align: center; }
  .pc-my-stats b { display: block; font-size: 19px; color: var(--navy); }
  .pc-my-stats b small { font-size: 12px; }
  .pc-my-stats span { font-size: 11.5px; color: var(--muted); }
  .pc-my-nav { display: flex; flex-direction: column; }
  .pc-my-nav a { display: flex; align-items: center; gap: 12px; padding: 11px 10px; border-radius: 10px; color: var(--ink); text-decoration: none; font-size: 14.5px; }
  .pc-my-nav a:hover { background: #F5F2EA; }
  .pc-my-nav a span { flex: 1; }
  .pc-my-out { display: flex; justify-content: center; gap: 18px; border-top: 1px solid #F0EDE6; padding-top: 14px; }
  .pc-my-out button, .pc-my-links button { border: 0; background: none; padding: 0; font: inherit; font-size: 13px; color: var(--muted); cursor: pointer; }
  .pc-my-main { display: flex; flex-direction: column; gap: 20px; }
  .pc-my-card { background: #fff; border-radius: 22px; box-shadow: var(--shadow); padding: 22px 24px; }
  .pc-my-card h3 { margin: 0 0 12px; font-size: 17px; display: flex; align-items: center; gap: 8px; }
  .pc-my-card h3 a { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--gold-ink); text-decoration: none; }
  .pc-my-ic { width: 40px; height: 40px; flex: none; border-radius: 12px; display: grid; place-items: center; background: #F5F1E6; color: var(--gold-ink); }
  .pc-my-todo { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: #FFF8E6; color: inherit; text-decoration: none; margin-top: 8px; }
  .pc-my-todo b { display: block; font-size: 14.5px; } .pc-my-todo span:not(.pc-my-ic):not(.pc-my-go) { font-size: 12.5px; color: var(--muted); }
  .pc-my-go { font-size: 13px; font-weight: 700; color: var(--gold-ink); white-space: nowrap; }
  .pc-my-deal { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid #F0EDE6; color: inherit; text-decoration: none; }
  .pc-my-deal:first-of-type { border-top: 0; }
  .pc-my-deal .thumb { width: 64px; height: 64px; border-radius: 12px; flex: none; }
  .pc-my-deal b { display: block; font-size: 15px; margin-bottom: 4px; }
  .pc-my-deal .amount { font-size: 19px; white-space: nowrap; }
  .pc-my-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .pc-my-tile { background: #fff; border-radius: 18px; box-shadow: var(--shadow); padding: 18px; display: flex; flex-direction: column; gap: 4px; color: inherit; text-decoration: none; transition: transform .15s; }
  .pc-my-tile:hover { transform: translateY(-2px); }
  .pc-my-tile .pc-my-ic { margin-bottom: 6px; }
  .pc-my-tile b { font-size: 15.5px; } .pc-my-tile .d { font-size: 12.5px; color: var(--muted); } .pc-my-tile .v { margin-top: 6px; font-size: 13.5px; color: var(--ink-2); font-weight: 600; }
  .pc-my-tg { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid #F0EDE6; cursor: pointer; }
  .pc-my-tg:first-of-type { border-top: 0; }
  .pc-my-tg b { display: block; font-size: 14.5px; } .pc-my-tg span { font-size: 12.5px; color: var(--muted); }
  .pc-my-links { display: flex; gap: 22px; padding: 0 6px; }
  .pc-my-links a { font-size: 13px; color: var(--muted); text-decoration: none; }
}
/* PC 마이페이지 안쪽 화면: 왼쪽 메뉴 + 오른쪽 내용 */
@media (min-width: 1024px) {
  .phone.cust.mysub { --myL: max(32px, calc((100% - 1200px) / 2 + 32px)); }
  .phone.cust.mysub > .pc-mysub-side { display: block; float: left; width: 280px; margin: 40px 0 0 var(--myL) !important; max-width: none !important; position: static; }
  .phone.cust.mysub > .pc-mysub-side .pc-my-side { position: static; }
  .phone.cust.mysub > :not(.pc-mysub-side):not(.site-footer) { margin-left: calc(var(--myL) + 308px) !important; margin-right: var(--myL) !important; max-width: none !important; }
  .phone.cust.mysub > .topbar { padding-left: 0 !important; padding-right: 0 !important; }
  .phone.cust.mysub > .topbar .icon-btn { display: none; }
  .phone.cust.mysub > .site-footer { clear: both; }
  .phone.cust.mysub { min-height: 860px; }
  .pc-my-nav a.on { background: #0E1116; color: #fff; }
  .pc-my-nav a.on .gnb-dot { background: #E9C55A; color: var(--ink); }
}
/* PC 고객센터 · 이용 안내 */
@media (min-width: 1024px) {
  .pg-cs > :not(.topbar):not(.site-footer), .pg-guide > :not(.topbar):not(.site-footer) { max-width: 1200px !important; }
  .pg-cs > .section.stack { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px 24px; }
  .pg-cs > .section.stack > * { grid-column: span 6; }
  .pg-cs > .section.stack > .cs-value { grid-column: span 2; flex-direction: column; }
  .pg-cs > .section.stack > .cs-col { grid-column: span 3; align-content: start; }
  .pg-cs > .section.stack > .cs-col.cs-iq { grid-column: span 6; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 24px; align-items: start; }
  .pg-cs .cs-iq > .sec-head { grid-column: 1 / -1; }
  .pg-cs .cs-iq > :nth-child(3) .card { max-height: 420px; overflow: auto; }
  .pg-cs .cs-hero { min-height: 360px; }
  .pg-cs .sec-head.cs-head { margin-top: 18px; }
  .pg-cs .sec-head.cs-head h2 { font-size: 22px; }
  .pg-cs .cs-iq .btn-navy { width: fit-content; padding: 0 32px; }
  /* 이용 안내: 6단계 카드 */
  .pg-guide > .section.stack { gap: 24px; }
  .pg-guide > .section.stack > .card:first-child { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; background: none; box-shadow: none; border: 0; }
  .pg-guide .guide-step { flex-direction: column; gap: 14px; background: #fff; border-radius: 22px; box-shadow: var(--shadow); padding: 26px 24px; border: 0 !important; }
  .pg-guide .guide-step .n { width: 40px; height: 40px; font-size: 16px; }
  .pg-guide .guide-step b { display: block; font-size: 17px; margin-bottom: 6px; }
  .pg-guide .guide-step .small { font-size: 14px; line-height: 1.65; }
  .pg-guide > .section.stack > .card.pad { padding: 24px 28px; }
  .pg-guide > .section.stack > .card.pad .stack { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 32px !important; font-size: 14px; }
}
/* PC 견적 신청: 사진은 위 전체 폭, 나머지 입력은 2단, 동의·버튼은 아래 전체 폭 */
@media (min-width: 1024px) {
  .pg-sell > .form { max-width: 1200px !important; display: block; columns: 2; column-gap: 24px; padding: 24px 32px 8px; }
  .pg-sell > .form > * { break-inside: avoid; margin-bottom: 20px; }
  .pg-sell > .form > div:not(.card):not(.notice):not(.agree-box):not(.tiny) { background: #fff; border-radius: 20px; box-shadow: var(--shadow); padding: 20px 22px; }
  .pg-sell > .form > :nth-child(1), .pg-sell > .form > :nth-child(2), .pg-sell > .form > .notice, .pg-sell > .form > .agree-box, .pg-sell > .form > .btn, .pg-sell > .form > .btn ~ * { column-span: all; }
  .pg-sell > .form > .btn { display: flex; max-width: 420px; margin-left: auto; margin-right: auto; }
  .pg-sell > .form > :nth-child(2) { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 0 24px; align-items: start; }
  .pg-sell > .form > :nth-child(2) { grid-template-rows: auto auto 1fr; }
  .pg-sell > .form > :nth-child(2) > :not(.sell-aside) { grid-column: 1; }
  .pg-sell > .form > :nth-child(2) > .sell-aside { display: flex; flex-direction: column; gap: 12px; grid-column: 2; grid-row: 1 / span 3; }
  .pg-sell .sell-aside > * { margin: 0 !important; }
  .pg-sell .sell-aside > .btn { align-self: stretch; }
}
/* PC 거래 상세: 왼쪽 상품 패널 + 오른쪽 진행 내용 */
@media (min-width: 1024px) {
  .pg-item { --myL: max(32px, calc((100% - 1200px) / 2 + 32px)); }
  .pg-item .itw > .pc-iside { display: block; float: left; width: 360px; margin: 0 0 0 var(--myL) !important; max-width: none !important; position: static; }
  .pg-item .itw > :not(.pc-iside) { margin-left: calc(var(--myL) + 392px) !important; margin-right: var(--myL) !important; max-width: none !important; }
  .pg-item > .topbar { padding-left: 0 !important; padding-right: 0 !important; }
  .pg-item .itw > .progress, .pg-item .itw > .mo-ihead { display: none; }
  .pg-item .itw > .section { padding-left: 0 !important; padding-right: 0 !important; }
  .pg-item > .site-footer { clear: both; }
  .pg-item { min-height: 980px; }
  .pc-iside-in { background: #fff; border-radius: 22px; box-shadow: var(--shadow); padding: 18px; display: flex; flex-direction: column; gap: 16px; }
  .pc-iph .thumb { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; border-radius: 16px; font-size: 40px; }
  .pc-iph .thumb img { width: 100%; height: 100%; object-fit: cover; }
  .pc-ihd b { display: block; font-size: 19px; letter-spacing: -.02em; }
  .pc-ifacts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #F8F6F0; border-radius: 14px; padding: 14px; }
  .pc-ifacts dt { font-size: 11.5px; color: var(--muted); }
  .pc-ifacts dd { margin: 2px 0 0; font-size: 14.5px; font-weight: 700; color: var(--ink); }
  .pc-isteps { list-style: none; margin: 0; padding: 0 4px; display: flex; flex-direction: column; gap: 0; }
  .pc-isteps li { position: relative; display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 13.5px; color: var(--muted); }
  .pc-isteps li i { width: 10px; height: 10px; border-radius: 50%; background: #E5E1D8; flex: none; position: relative; z-index: 1; }
  .pc-isteps li:not(:last-child)::after { content: ''; position: absolute; left: 4.5px; top: 22px; width: 1px; height: calc(100% - 12px); background: #E5E1D8; }
  .pc-isteps li.done { color: var(--ink-2); } .pc-isteps li.done i { background: #C9A227; }
  .pc-isteps li.cur { color: var(--ink); font-weight: 800; } .pc-isteps li.cur i { background: #0E1116; box-shadow: 0 0 0 4px rgba(201,162,39,.35); }
  .pc-iside .btn-sm { align-self: stretch; justify-content: center; }
}
@media (min-width: 1024px) {
  .phone.cust.mysub > .form { background: #fff; border-radius: 22px; box-shadow: var(--shadow); padding: 28px 32px; margin-top: 8px; }
  .phone.cust.mysub > .form > .btn { width: fit-content; min-width: 200px; padding: 0 40px; justify-self: start; }
  .phone.cust.mysub > .form > .card { box-shadow: none; border: 1px solid #EEEAE1; }
  .phone.cust.mysub > .section { padding-left: 0; padding-right: 0; }
}

/* ============ PC 회원사 화면 (1024px 이상) ============ */
@media (min-width: 1024px) {
  .dsb { display: flex; flex-direction: column; position: fixed; left: 0; top: 0; bottom: 0; width: 252px; background: #0E1116; color: var(--on-navy-2); overflow-y: auto; z-index: 60; padding: 22px 14px 18px; box-sizing: border-box; gap: 2px; }
  .dsb-logo { padding: 0 10px 18px; }
  .dsb-logo .logo { color: var(--on-navy); text-decoration: none; }
  .dsb-logo .logo .wm { font-size: 26px; color: var(--on-navy); }
  .dsb-me { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: rgba(255,255,255,.06); color: var(--on-navy); text-decoration: none; margin-bottom: 12px; }
  .dsb-me b { display: block; font-size: 14px; line-height: 1.3; }
  .dsb-me span { font-size: 11.5px; color: var(--muted); }
  .dsb-me .dsb-rate { font-size: 12px; color: var(--gold-hi); font-weight: 700; white-space: nowrap; }
  .dsb-g { font-size: 11px; font-weight: 700; letter-spacing: .06em; color: var(--muted); padding: 14px 12px 6px; }
  .dsb nav { display: flex; flex-direction: column; gap: 1px; }
  .dsb nav a { display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: 10px; color: var(--on-navy-2); text-decoration: none; font-size: 14px; }
  .dsb nav a span { flex: 1; }
  .dsb nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
  .dsb nav a.on { background: #F3F0E8; color: var(--ink); font-weight: 700; }
  .dsb-n { min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 10px; background: #D2433F; color: #fff; font-size: 11px; display: grid; place-items: center; }
  .dsb-n.n { background: #E9C55A; color: var(--ink); }
  .dsb-out { margin-top: auto; border: 0; background: none; color: var(--muted); font: inherit; font-size: 13px; padding: 16px 12px 0; text-align: left; cursor: pointer; }
  .dsb-out:hover { color: #fff; }

  .phone.dl { max-width: none; margin: 0 0 0 252px; box-shadow: none; border-radius: 0; min-height: 100vh; padding: 0 0 72px; background: var(--paper); }
  .phone.dl > * { max-width: 1180px; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
  .tabbar.pt { display: none; }
  /* 제목 영역 */
  .dl-title { display: flex; align-items: center; justify-content: space-between; padding: 40px 40px 8px; }
  .dl-title h1 { margin: 0; font-size: 30px; font-weight: 800; letter-spacing: -.035em; color: var(--ink); }
  .dl-title .bell { color: var(--ink); width: 44px; height: 44px; border-radius: 50%; border: 1px solid #E1DDD3; background: #fff; display: grid; place-items: center; position: relative; }
  .phone.dl > .topbar:has(.logo) { display: none; }
  .phone.dl > .topbar { position: static; background: none; color: var(--ink); height: auto; min-height: 0; padding: 40px 40px 8px; justify-content: flex-start; gap: 14px; }
  .phone.dl > .topbar .title { font-size: 30px; font-weight: 800; letter-spacing: -.035em; color: var(--ink); }
  .phone.dl > .topbar .icon-btn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #E1DDD3; background: #fff; color: var(--ink-2); display: grid; place-items: center; font-size: 18px; flex: none; }
  .phone.dl > .topbar > :last-child:not(.title) { margin-left: auto; }
  .phone.dl > .topbar a:not(.icon-btn), .phone.dl > .topbar button:not(.icon-btn) { color: var(--ink-2); }
  .phone.dl > .section, .phone.dl > .form { padding-left: 40px; padding-right: 40px; }
  .phone.dl .btn-cta, .phone.dl .section > .btn:not(.btn-sm), .phone.dl .form > .btn:not(.btn-sm) { max-width: 420px; }
  .phone.dl .toast, .toast { }
}
@media (min-width: 1024px) {
  .phone.dl { --dL: max(40px, calc((100% - 1180px) / 2 + 40px)); }
  /* 매물 상세 · 매입 처리: 왼쪽 사진, 오른쪽 정보 */
  .pg-d-item > .gal-box, .pg-d-deal > .gal-box { float: left; width: 500px; max-width: none !important; margin: 12px 0 40px var(--dL) !important; }
  .pg-d-item > .section, .pg-d-deal > .section { margin-left: calc(var(--dL) + 532px) !important; margin-right: var(--dL) !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
  .pg-d-item > .topbar, .pg-d-deal > .topbar { padding-left: var(--dL); padding-right: var(--dL); max-width: none !important; }
  .pg-d-item::after, .pg-d-deal::after { content: ''; display: block; clear: both; }
  /* 입찰 목록: 상단 탭 + 카드 2열 */
  .pg-d-list > .dtabs { display: flex; gap: 8px; background: none; border: 0; padding: 12px 40px 0; }
  .pg-d-list > .dtabs > * { flex: none; padding: 10px 20px; border-radius: 999px; border: 1px solid #E1DDD3; background: #fff; font-size: 14.5px; }
  .pg-d-list > .dtabs > .on { background: #0E1116; color: #fff; border-color: #0E1116; }
  .pg-d-list > .dtabs > .on span { color: var(--on-navy-2); }
  .pg-d-list .section > .row:first-child { max-width: 640px; }
  .pg-d-list .section > .card:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; background: none; box-shadow: none; border: 0; }
  .pg-d-list .section > .card:last-child > .item-row { background: #fff; border-radius: 18px; box-shadow: var(--shadow); border: 0 !important; padding: 14px; }
  .pg-d-list .section > .card:last-child > .empty { grid-column: 1 / -1; background: #fff; border-radius: 18px; }
  .pg-d-list .item-row .thumb-wrap .thumb { width: 104px; height: 104px; }
  /* 매입 진행: 카드 2열 */
  .pg-d-deals .deal-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; background: none; box-shadow: none; border: 0; }
  .pg-d-deals .deal-list > * { background: #fff; border-radius: 18px; box-shadow: var(--shadow); border: 0 !important; }
  .pg-d-deals .deal-list > .attn { box-shadow: 0 0 0 2px #E9C55A, var(--shadow); }
}
@media (min-width: 1024px) {
  .phone.dl { --dW: calc(100vw - 252px); --dLv: max(40px, calc((var(--dW) - 1180px) / 2 + 40px)); }
  .phone.dl .bidbar, .phone.dl .cta-fixed { transform: none; width: auto; bottom: 24px; left: calc(252px + var(--dLv)); right: var(--dLv); }
  .pg-d-item .bidbar, .pg-d-deal .bidbar, .pg-d-item .cta-fixed, .pg-d-deal .cta-fixed { left: calc(252px + var(--dLv) + 532px); }
  .phone.dl .bidbar { border: 0; border-radius: 18px; box-shadow: 0 12px 40px -12px rgba(14,17,22,.35); padding: 12px 16px; }
  .pg-d-item, .pg-d-deal { padding-bottom: 120px; }
}
@media (min-width: 1024px) {
  /* 상단 메뉴에 있는 화면은 뒤로 가기 화살표 숨김 */
  .phone.dl:not(.pg-d-item):not(.pg-d-deal):not(.pg-d-chat):not(.pg-d-lpost):not(.pg-d-mitem):not(.pg-d-lnew):not(.pg-d-mnew):not(.pg-d-edit) > .topbar > .icon-btn:first-child { display: none; }
  /* 입력 화면: 읽기 좋은 폭의 흰 카드 */
  .phone.dl > .form { max-width: 820px !important; background: #fff; border-radius: 22px; box-shadow: var(--shadow); padding: 28px 32px !important; margin-top: 12px; }
  .phone.dl > .form > .btn:not(.btn-sm) { width: fit-content; min-width: 220px; padding: 0 40px; justify-self: start; }

  /* 회원사 로그인·가입: 왼쪽 브랜드, 오른쪽 입력 */
  .phone.dl-auth { max-width: none; margin: 0; box-shadow: none; padding: 0; min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; background: var(--paper); }
  .phone.dl-auth > .topbar { display: none; }
  .phone.dl-auth > .dl-brand { display: block; grid-column: 1; grid-row: 1 / span 20; align-self: stretch; min-height: 100vh; background: #0E1116 url(photos/step-compete.jpg) center / cover; position: relative; }
  .phone.dl-auth > .dl-brand::before { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(14,17,22,.92), rgba(14,17,22,.7)); }
  .dl-brand-in { position: sticky; top: 0; padding: 64px 56px; color: var(--on-navy); z-index: 1; }
  .dl-brand-in .logo { color: var(--on-navy); } .dl-brand-in .logo .wm { font-size: 30px; color: var(--on-navy); }
  .dl-brand-in h2 { font-size: 36px; line-height: 1.3; letter-spacing: -.035em; margin: 56px 0 16px; color: #fff; }
  .dl-brand-in p { font-size: 15.5px; line-height: 1.7; color: var(--on-navy-2); margin: 0 0 32px; }
  .dl-brand-in ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
  .dl-brand-in li { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--on-navy); }
  .dl-brand-in li .ic { color: var(--gold-hi); }
  .phone.dl-auth > :not(.dl-brand):not(.topbar):not(.site-footer) { grid-column: 2; width: 100%; max-width: 480px; justify-self: center; box-sizing: border-box; }
  .phone.dl-auth > .auth { margin-top: 64px; background: #fff; border-radius: 24px; box-shadow: var(--shadow); padding: 36px; }
  .phone.dl-auth > .site-footer { grid-column: 2; margin-top: 40px; padding: 24px 40px; background: none; }
  .phone.dl-auth:not(:has(.dl-brand)) { display: block; }
  .phone.dl-auth:not(:has(.dl-brand)) > * { max-width: 720px; margin-left: auto; margin-right: auto; }
  .phone.dl-auth:not(:has(.dl-brand)) > .topbar { display: flex; max-width: none; background: #0E1116; padding: 0 40px; }
  .phone.dl-auth:not(:has(.dl-brand)) > .site-footer { max-width: none; }
}
@media (min-width: 1024px) {
  .phone.dl-auth:not(:has(.dl-brand)) > .form, .phone.dl-auth:not(:has(.dl-brand)) > .auth, .phone.dl-auth:not(:has(.dl-brand)) > .section { background: #fff; border-radius: 24px; box-shadow: var(--shadow); padding: 32px 36px; margin-top: 32px; }
  .phone.dl-auth:not(:has(.dl-brand)) > .stepper { margin-top: 24px; }
}
@media (min-width: 1024px) {
  /* 회원사 상세 사진: 큰 사진 + 썸네일 줄 + 남은 시간 */
  .phone.dl .gal-box .gallery-wrap { border-radius: 22px; overflow: hidden; }
  .g-thumbs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
  .g-thumbs button { padding: 0; border: 2px solid transparent; border-radius: 12px; overflow: hidden; background: #fff; cursor: pointer; aspect-ratio: 1; opacity: .6; transition: opacity .15s, border-color .15s; }
  .g-thumbs button:hover { opacity: 1; }
  .g-thumbs button.on { border-color: #0E1116; opacity: 1; }
  .g-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .g-timer { display: inline-flex !important; position: absolute; top: 16px; right: 16px; z-index: 2; font-size: 14px; padding: 6px 12px; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
  /* 입찰 바: 화면 아래 가운데 */
  .phone.dl.pg-d-item .bidbar { position: static; clear: both; transform: none; width: fit-content !important; min-width: 360px; max-width: 640px !important; margin: 8px auto 0 !important; justify-content: center; gap: 16px; padding: 14px 18px; border-radius: 999px; box-shadow: var(--shadow); }
  .phone.dl.pg-d-item .bidbar > .timer { display: none; }
  .phone.dl.pg-d-item .bidbar > .grow:empty { display: none; }
  .phone.dl.pg-d-item .bidbar .btn-navy:not(.btn-sm) { min-width: 220px; }
  .phone.dl.pg-d-item:has(.g-timer) .bidbar:has(> .grow:empty) { background: none; box-shadow: none; }
  .pg-d-item, .pg-d-deal { padding-bottom: 72px; }

  /* 레이어 팝업: 화면 가운데, 길면 안에서 스크롤 */
  .modal-wrap { place-items: center; padding: 24px; box-sizing: border-box; }
  .modal { width: min(520px, 100%); border-radius: 24px; max-height: calc(100vh - 48px); overflow-y: auto; padding: 28px 28px 24px; overscroll-behavior: contain; }

  /* 회원사 화면 큰 버튼: 적당한 크기로 가운데 */
  .phone.dl .section > .btn:not(.btn-sm), .phone.dl .stack > .btn:not(.btn-sm), .phone.dl .card > .btn:not(.btn-sm), .phone.dl .form > .btn:not(.btn-sm), .phone.dl .section > a.btn:not(.btn-sm) { width: fit-content !important; min-width: 240px; max-width: 100%; padding-left: 40px; padding-right: 40px; justify-self: center; margin-left: auto; margin-right: auto; }
  .phone.dl .form > .btn:not(.btn-sm) { justify-self: center; }
  /* 회원사 간 거래·라운지 글: 읽기 좋은 폭 */
  .pg-d-mitem > .section, .pg-d-lpost > .section, .pg-d-mnew > .form, .pg-d-lnew > .form { max-width: 860px !important; }
  .pg-d-mitem .card.pad > .row.between { justify-content: flex-start; gap: 10px; }
}
@media (min-width: 1024px) {
  .gal-box .mo-gimg { display: none; }
  .gal-box .g-pcimg { display: block !important; aspect-ratio: 1; overflow: hidden; }
  .gal-box .g-pcimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .g-thumbs button { position: relative; }
}
@media (min-width: 1024px) {
  /* 상태 표시가 사진 밖으로 넘치지 않게: 사진 아래쪽 안에 줄바꿈 허용 */
  .phone.dl .thumb-wrap .ov { left: 6px; right: 6px; top: auto; bottom: 6px; text-align: center; white-space: normal; line-height: 1.3; font-size: 11px; padding: 3px 4px; border-radius: 8px; justify-content: center; }
  .pg-d-deals .thumb-wrap .thumb { width: 112px; height: 112px; }
  .phone.dl .thumb-wrap:has(.prem-ov) .ov { bottom: 14px; }
  /* 청구서 머리: 금액 아래 상태·세부 내역 한 줄 정렬 */
  .phone.dl .stmt-h > div:last-child > div { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 6px; }
}
@media (min-width: 1024px) {
  /* 큰 사진 윗선을 오른쪽 정보 카드 윗선에 맞춤 */
  .pg-d-item > .gal-box, .pg-d-deal > .gal-box { margin-top: 83px !important; }
}
@media (min-width: 1024px) {
  /* 입찰하기 버튼을 내용 바로 아래로 */
  .pg-d-item > .gal-box { margin-bottom: 0 !important; }
  .pg-d-item > .section { padding-bottom: 0 !important; }
  .phone.dl.pg-d-item .bidbar { margin-top: 32px !important; }
}
/* PC 회원사 간 거래 · 감정 라운지: 사진 중심 카드 그리드 */
@media (min-width: 1024px) {
  .pg-d-market .card:has(> .lg-row), .pg-d-lounge .card:has(> .lg-row) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; background: none; box-shadow: none; border: 0; }
  .pg-d-lounge .card:has(> .lg-row) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pg-d-market .lg-row, .pg-d-lounge .lg-row { flex-direction: column; align-items: stretch; gap: 10px; padding: 0 0 18px; background: #fff; border-radius: 20px; border: 0 !important; box-shadow: var(--shadow); overflow: hidden; transition: transform .15s, box-shadow .15s; }
  .pg-d-market .lg-row:hover, .pg-d-lounge .lg-row:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(14,17,22,.35); }
  .pg-d-market .lg-row .thumb, .pg-d-lounge .lg-row .thumb { width: 100%; height: auto; aspect-ratio: 1; border-radius: 0; }
  .pg-d-lounge .lg-row .thumb { aspect-ratio: 4 / 3; }
  .pg-d-market .lg-row > .grow, .pg-d-lounge .lg-row > .grow { padding: 4px 18px 0; }
  .pg-d-market .lg-row b.ell, .pg-d-lounge .lg-row b.ell { display: block; white-space: normal; font-size: 15.5px; line-height: 1.4; }
  .pg-d-market .lg-row .tiny, .pg-d-lounge .lg-row .tiny { font-size: 12.5px; margin-top: 3px; }
  .pg-d-lounge .lg-row .tiny.ell { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; }
  .pg-d-market .lg-row .row, .pg-d-lounge .lg-row .row { margin-top: 10px !important; }
  .pg-d-market .lg-row > :last-child, .pg-d-lounge .lg-row > :last-child { order: -1; display: none; }
  .pg-d-market .lg-row > :last-child { display: block; order: 0; text-align: left !important; padding: 0 18px; margin-top: auto; }
  .pg-d-market .lg-row > :last-child b { font-size: 22px; letter-spacing: -.02em; }
  .pg-d-lounge .lg-row > :last-child { display: block; order: 0; text-align: left !important; padding: 0 18px; margin-top: auto; white-space: normal !important; }
  .pg-d-lounge .lg-row > :last-child br { display: none; }
  .pg-d-lounge .lg-row > :last-child b { margin: 0 6px; color: var(--gold-ink); }
  .pg-d-market .card > .empty, .pg-d-lounge .card > .empty { grid-column: 1 / -1; background: #fff; border-radius: 20px; }
  /* 제목 옆 등록·글쓰기 링크를 버튼으로 */
  .pg-d-market > .topbar > a.small:last-child, .pg-d-lounge > .topbar > a.small:last-child { color: #fff !important; background: #0E1116; padding: 11px 22px; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; }
  .pg-d-market .section > a.btn-navy[href="#/d/mnew"], .pg-d-lounge .section > a.btn-navy[href="#/d/lnew"] { display: none; }
}
/* PC 회원사 간 거래·감정 의견 상세: 왼쪽 큰 사진, 오른쪽 정보 */
@media (min-width: 1024px) {
  .pg-d-mitem > .section, .pg-d-lpost > .section { max-width: 1180px !important; }
  .pg-d-mitem .section > .card.pad:first-child, .pg-d-lpost .section > .card.pad:first-child { grid-template-columns: minmax(0, 440px) minmax(0, 1fr); grid-template-rows: repeat(7, auto) 1fr; column-gap: 32px; row-gap: 10px; padding: 24px; align-items: start; }
  .pg-d-mitem .section > .card.pad:first-child > *, .pg-d-lpost .section > .card.pad:first-child > * { grid-column: 2; }
  .pg-d-mitem .section > .card.pad:first-child > .lg-photos, .pg-d-lpost .section > .card.pad:first-child > .lg-photos { grid-column: 1; grid-row: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .pg-d-mitem .lg-photos img:first-child, .pg-d-lpost .lg-photos img:first-child { grid-column: 1 / -1; border-radius: 16px; }
  .pg-d-mitem .section > .card.pad:first-child > .row.between b, .pg-d-lpost .lg-head b { font-size: 20px; letter-spacing: -.02em; }
  .pg-d-lpost .lg-head { display: flex; flex-direction: column; gap: 4px; }
  .pg-d-mitem .section > .btn, .pg-d-lpost .section > .btn { width: fit-content !important; }
}
@media (min-width: 1024px) {
  /* 회원사 간 거래·감정 글 상세: 큰 사진 + 썸네일 */
  .pg-d-mitem .section > .card.pad:first-child > .lg-photos, .pg-d-lpost .section > .card.pad:first-child > .lg-photos { display: none; }
  .pg-d-mitem .section > .card.pad:first-child > .mk-gal, .pg-d-lpost .section > .card.pad:first-child > .mk-gal { display: block; grid-column: 1; grid-row: 1 / -1; }
  .mk-main { position: relative; aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: #F3F1EC; }
  .mk-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .2s; overflow: hidden; }
  .mk-slide.on { opacity: 1; }
  .mk-slide img, .mk-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .mk-thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
  .mk-thumbs button { padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; aspect-ratio: 1; cursor: pointer; opacity: .6; background: #fff; }
  .mk-thumbs button:hover { opacity: 1; }
  .mk-thumbs button.on { border-color: #0E1116; opacity: 1; }
  /* 입찰하기: 스크롤하지 않아도 화면 아래에 떠 있다가, 끝에 오면 제자리 */
  .phone.dl.pg-d-item .bidbar { position: sticky; bottom: 20px; z-index: 30; }
  .phone.dl.pg-d-item:has(.g-timer) .bidbar:has(> .grow:empty) { background: none; box-shadow: none; }
}

/* 견적 신청 오른쪽 안내 묶음: 휴대폰에서는 감싸지 않은 것처럼 */
.sell-aside { display: contents; }
@media (min-width: 1024px) {
  .gnb-dealer > b { font-size: 12.5px; color: var(--ink); }
  .gnb-user .gnb-role { font-size: 12px; color: var(--muted); }
}
/* 고객 상품 상세: 회원사로 로그인했을 때만 보이는 입찰 바로가기 (휴대폰·PC 공통) */
.d-bid-cta { gap: 12px; border: 1px solid #E8DAB0; background: #FFFDF6; align-items: center; }
.d-bid-cta > .ic { color: var(--gold-ink); flex: none; }
.d-bid-cta b { font-size: 14px; }
.d-bid-cta .btn { flex: none; white-space: nowrap; }
@media (max-width: 420px) { .d-bid-cta { flex-wrap: wrap; } .d-bid-cta .btn { width: 100%; justify-content: center; } }
/* 에이전트 센터 */
.wide.agent .admin-nav a.on { border-color: var(--gold); color: var(--navy); }
.ag-link { border: 1px solid #E8DAB0; background: #FFFDF6; margin-bottom: 16px; }
.ag-url { font-size: 17px; word-break: break-all; color: var(--navy); }
@media (max-width: 600px) { .wide.agent .kpis { grid-template-columns: 1fr 1fr; gap: 10px; } .wide.agent .admin-head { flex-wrap: wrap; } }
/* 에이전트 금액대별 수수료 구간 편집 */
.agt-ed { display: grid; gap: 8px; }
.agt-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 120px 40px; gap: 10px; align-items: center; padding: 8px 12px; border-radius: 12px; background: #F8F6F0; font-size: 13.5px; }
.agt-row .input { height: 38px; padding: 0 10px; width: 100px; display: inline-block; margin-right: 6px; }
.agt-row .agt-rt .input { width: 70px; }
.agt-row.warn { background: #FFF1EF; }
.agt-warn { grid-column: 1 / -1; font-size: 12px; color: var(--red-ink); }
.agt-ed > .btn { justify-self: start; }
.ag-tiers { display: flex; flex-wrap: wrap; gap: 8px; }
.ag-tiers span { display: flex; flex-direction: column; padding: 8px 12px; border-radius: 12px; background: #fff; border: 1px solid #EEE6CF; }
.ag-tiers small { font-size: 11.5px; color: var(--muted); } .ag-tiers b { font-size: 16px; color: var(--navy); }
@media (max-width: 600px) { .agt-row { grid-template-columns: 1fr 1fr; } }
.agt-row { grid-template-columns: 120px 200px 110px auto; justify-content: start; max-width: 640px; }
.agt-row > button { justify-self: start; }
@media (max-width: 600px) { .agt-row { grid-template-columns: 1fr 1fr; max-width: none; } }
.ag-tbl td:first-child { min-width: 170px; }
.ag-tbl td:first-child .tiny { white-space: normal; }
.ag-tbl td.small { min-width: 190px; max-width: 240px; line-height: 1.5; }
.ag-tbl td { vertical-align: middle; }
/* 관리자·에이전트 공통: 제목 누르면 새로고침 */
.title-reload { color: inherit; text-decoration: none; }
.title-reload:hover { opacity: .75; }
.badge.b-gold { background: #FBF3DC; color: var(--gold-ink); }
.kpi-link { text-decoration: none; color: inherit; display: block; }
.kpi-link .kpi:hover { box-shadow: 0 0 0 2px #E9C55A; }
/* 회원 상세: 최근 30일 접속 */
.visit-strip { display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: 4px; margin: 12px 0 6px; }
.visit-strip i { height: 26px; border-radius: 5px; background: #EFEBE2; }
.visit-strip i.on { background: #0E1116; }
tr.click { cursor: pointer; }
tr.click:hover td { background: #FAF8F3; }
/* 관리자 회원사 상세: 왼쪽(사업자 정보·서류) / 오른쪽(수수료·공개 프로필) 두 칸 */
.adm-2col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.adm-col { display: grid; gap: 16px; align-content: start; min-width: 0; }
@media (max-width: 820px) { .adm-2col { grid-template-columns: 1fr; } }
/* PC 프리미엄 카드 간소화 (대표 디자인) */
@media (min-width: 1024px) {
  .pc-pcard.pc-pcard2 { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; background: #fff; border: 0; border-radius: 22px; }
  .pc-pcard2 .pc-ph { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 0; flex: none; }
  .pc-pcard2 .pc-ph .timer { right: 14px; top: 14px; font-size: 14px; padding: 6px 12px; }
  .pc-pcard2 .pc-info { padding: 18px 20px 0; gap: 8px; }
  .pc-ptop2 { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .pc-ptop2 .pc-brand { font-size: 13.5px; font-weight: 700; color: var(--ink-2); }
  .pc-ptop2 .prem { font-size: 10.5px; padding: 4px 10px; border-radius: 999px; }
  .pc-pcard2 .pc-name { font-size: 18px; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; min-height: 0; }
  .pc-pcard2 .pc-meta { font-size: 13px; color: var(--muted); }
  .pc-pcard2 .pc-pline { font-size: 13.5px; display: flex; align-items: center; gap: 6px; }
  .pc-pcard2 .pc-pline .k { width: auto; padding: 2px 8px; border-radius: 8px; background: #F5F2EA; color: var(--muted); font-size: 12px; }
  .pc-pcard2 .pc-pline b { color: var(--ink); }
  .pc-pcard2 .pc-pline .dot { width: 3px; height: 3px; border-radius: 50%; background: #C4C9D2; display: inline-block; }
  .pc-pchips { display: flex; flex-wrap: wrap; gap: 6px; }
  .pc-pchips span { font-size: 12px; font-weight: 600; color: var(--ink-2); background: #F5F2EA; border-radius: 8px; padding: 4px 10px; }
  .pc-pfoot { margin: 10px -20px 0; padding: 14px 20px 16px; border-top: 1px solid #F0EDE6; display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
  .pc-pcard2 .pc-info { flex: 1; display: flex; flex-direction: column; }
  .pc-pfoot .pc-grade { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: var(--ink-2); }
  .pc-pfoot .pc-grade b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #E8EEF8; color: var(--blue); font-family: var(--serif, Georgia, serif); font-size: 13px; }
  .pc-pfoot .pc-grade.g-N b { background: #E8F3EC; color: var(--green); }
  .pc-pfoot .pc-grade.g-S b { background: #F5ECD2; color: var(--gold-ink); }
  .pc-pfoot .pc-grade.g-B b, .pc-pfoot .pc-grade.g-C b { background: #F1F2F4; color: var(--ink-2); }
  .pc-teams { font-size: 13px; color: var(--muted); }
  .pc-teams b { font-size: 18px; color: var(--ink); margin-left: 4px; }
}
/* PC 실시간 등록 카드: 프리미엄 카드와 같은 아래쪽 구성 */
@media (min-width: 1024px) {
  .pc-lcard.pc-lcard2 .pc-info { padding: 16px 18px 0; gap: 8px; display: flex; flex-direction: column; flex: 1; }
  .pc-lcard2 .pc-name { font-size: 16.5px; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; min-height: 0; }
  .pc-lcard2 .pc-pline { font-size: 13px; display: flex; align-items: center; gap: 6px; white-space: nowrap; overflow: hidden; }
  .pc-lcard2 .pc-pline .k { width: auto; padding: 2px 8px; border-radius: 8px; background: #F5F2EA; color: var(--muted); font-size: 12px; flex: none; }
  .pc-lcard2 .pc-pline b { color: var(--ink); }
  .pc-lcard2 .pc-pline .dot { width: 3px; height: 3px; border-radius: 50%; background: #C4C9D2; display: inline-block; flex: none; }
  .pc-lcard2 .pc-pfoot { margin: 10px -18px 0; padding: 13px 18px 15px; margin-top: auto; }
  .pc-lcard2 .pc-pchips span { font-size: 11.5px; padding: 3px 9px; }
  .pc-lcard2 .pc-ptop2 .pc-brand { color: var(--gold-ink); }
}
/* PC 홈 "프리미엄 매입 요청" 제목 앞 표시 (실시간 등록의 빨간 점과 짝) */
.prem-mark { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, #E9C55A, #B8912A); color: #fff; font-family: var(--serif, Georgia, serif); font-size: 12.5px; font-weight: 800; margin-right: 10px; vertical-align: 4px; box-shadow: 0 2px 6px rgba(184,145,42,.35); }
/* P 아이콘 크기를 제목 글자 높이에 맞춤 (휴대폰·PC 공통) */
.prem-mark { font-size: .56em; width: 1.6em; height: 1.6em; margin-right: .7em; vertical-align: .18em; box-shadow: 0 1px 4px rgba(184,145,42,.3); }
/* PC 회원사 입찰 목록: PREMIUM은 사진 위 대신 상품명 바로 위에 (사진 안 상태 표시와 겹치지 않게) */
@media (min-width: 1024px) {
  .phone.dl .thumb-wrap .prem-ov { display: none; }
  .phone.dl .prem-line { display: inline-flex !important; align-self: flex-start; font-size: 10px; padding: 2px 8px; margin-bottom: 4px; }
  .phone.dl .thumb-wrap:has(.prem-ov) .ov { bottom: 6px; }
}
/* 견적 신청: 모델 고르기 목록 (휴대폰에서도 누르면 바로 펼쳐짐) */
.model-sug { margin-top: 6px; max-height: 280px; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 12px 28px -14px rgba(14,17,22,.3); -webkit-overflow-scrolling: touch; }
.model-sug[hidden] { display: none; }
.ms-item { display: block; width: 100%; text-align: left; padding: 12px 14px; border: 0; border-bottom: 1px solid #F1EFEA; background: none; font: inherit; font-size: 14.5px; color: var(--ink); cursor: pointer; }
.ms-item:last-child { border-bottom: 0; }
.ms-item:hover, .ms-item:active { background: #FAF6EA; }
.ms-own { color: var(--gold-ink); font-weight: 700; }
.ms-own span { display: block; font-size: 12px; font-weight: 400; color: var(--muted); margin-top: 2px; }
.ms-empty { padding: 12px 14px; font-size: 13px; color: var(--muted); }
/* 아이폰: 입력 칸 글자가 16px보다 작으면 누를 때 화면이 확대돼요 → 휴대폰에서는 16px */
@media (max-width: 1023px) {
  .input, select.input, textarea.input, .input.with-prefix input, input[type="text"], input[type="tel"], input[type="number"], input[type="email"], input[type="password"], input[type="search"], input:not([type]), textarea, select { font-size: 16px; }
}
.model-sug { overscroll-behavior: contain; touch-action: pan-y; }

/* ================================================================
   PC 시안 v2 (2026-10-26) — 1024px 이상에서만 적용. 휴대폰(1024px 미만)은 바꾸지 않아요.
   톤: 남색 #071E45 + 금색 #C9A227 + 오프화이트. 더 얇은 선, 더 넉넉한 여백, 더 분명한 글씨 위계.
   ================================================================ */
.pc-prem-ov { display: none; }
.pc-band { display: block; }
@media (min-width: 1024px) {
  :root { --pc-line: var(--line); --pc-ink: var(--ink); --pc-sub: var(--muted); --pc-gold: var(--gold-ink); }

  /* 홈 첫 화면: 조금 낮고 더 차분하게 */
  .pg-home .hero-wrap { padding-top: 28px; }
  .pg-home .hero.has-photo { min-height: 420px; border-radius: 20px; }
  .pg-home .hero.has-photo .hero-body { padding: 56px 64px 52px; }
  .pg-home .hero h1 { font-size: 44px; letter-spacing: -.03em; margin: 14px 0 16px; }
  .pg-home .hero p { font-size: 16px; color: rgba(245,242,234,.78); }
  .pg-home .hero .pills { display: none; }
  .pg-home .hero-trust { margin-top: 28px; padding-top: 20px; }

  /* 안내 띠(VIP): 얇은 한 줄 */
  .pg-home > .section:nth-of-type(1) { padding-top: 14px; }
  .pg-home .vip-card { padding: 14px 22px; border-radius: 14px; gap: 14px; }
  .pg-home .vip-card b { font-size: 15px; margin-top: 2px; }
  .pg-home .vip-card .small { display: none; }
  .pg-home .vip-ic { transform: scale(.9); }

  /* 섹션 머리말 */
  .pg-home .sec-head { margin-bottom: 22px; align-items: baseline; }
  .pg-home .sec-head h2 { font-size: 24px; font-weight: 800; letter-spacing: -.035em; color: var(--pc-ink); }
  .pg-home .sec-head .small { font-size: 13px; color: var(--pc-sub); }
  .pg-home .sec-head a.small.link { color: var(--pc-ink); font-weight: 700; border-bottom: 1px solid #C9A227; padding-bottom: 1px; }
  .pg-home .pc-lists > .section, .pg-home .pc-only > .section { padding-top: 72px; }

  /* 프리미엄: 따뜻한 면 위에 4열 한 줄 */
  .pc-band { background: #F0ECE0; margin-top: 64px; padding: 0 0 64px; border-top: 1px solid #E6E0CF; border-bottom: 1px solid #E6E0CF; }
  .pg-home .pc-lists > .pc-band > .section { max-width: 1200px; margin: 0 auto; padding: 56px 32px 0; box-sizing: border-box; }
  .pc-band .sec-head { margin-bottom: 26px; }
  .pc-pgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .pc-pgrid .pc-pcard2:nth-child(n+5) { display: none; }
  .prem5 .pc-pgrid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
  .prem5 .pc-pgrid .pc-pcard2:nth-child(n+5) { display: flex; }
  .pc-pcard.pc-pcard2 { border-radius: 14px; background: #fff; border: 1px solid #E6DDBF; box-shadow: none; }
  .pc-pcard.pc-pcard2:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -18px rgba(70,52,10,.4); }
  .pc-pcard2 .pc-ph { aspect-ratio: 6 / 5; }
  .pc-pcard2 .pc-ph .timer { right: 10px; top: 10px; font-size: 12.5px; padding: 4px 9px; }
  .pc-pcard2 .pc-prem-ov { display: inline-flex; position: absolute; left: 10px; bottom: 10px; margin: 0; font-size: 9.5px; height: 20px; padding: 0 9px; border-radius: 3px; }
  .pc-pgrid .pc-ptop2 .prem { display: none; }
  .pc-pcard2 .pc-info { padding: 14px 16px 0; gap: 5px; }
  .pc-ptop2 .pc-brand { font-size: 12px; letter-spacing: .02em; color: var(--pc-gold); }
  .pc-pcard2 .pc-name { font-size: 16px; font-weight: 800; }
  .pc-pcard2 .pc-pline { font-size: 12.5px; color: var(--pc-sub); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .pc-pcard2 .pc-pline .k { display: none; }
  .pc-pcard2 .pc-pline .dot { display: inline-block; margin: 0 6px 2px; }
  .pc-pcard2 .pc-pchips { display: none; }
  .pc-pcard2 .pc-pfoot { margin: 12px -16px 0; padding: 11px 16px 13px; border-top: 1px solid #F1ECDC; }
  .pc-pfoot .pc-grade { font-size: 12.5px; }
  .pc-pfoot .pc-grade b { width: 22px; height: 22px; font-size: 12px; }
  .pc-teams { font-size: 12.5px; }
  .pc-teams b { font-size: 16px; }

  /* 실시간 등록: 같은 문법으로 조금 더 가볍게 */
  .pc-lgrid { gap: 20px; }
  .pc-lcard.pc-lcard2 { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); }
  .pc-lcard.pc-lcard2:hover { box-shadow: 0 16px 30px -18px rgba(14,17,22,.3); }
  .pc-lcard .pc-ph { aspect-ratio: 6 / 5; }
  .pc-lcard.pc-lcard2 .pc-info { padding: 14px 16px 0; gap: 5px; }
  .pc-lcard2 .pc-name { font-size: 15.5px; }
  .pc-lcard2 .pc-pchips { display: none; }
  .pc-lcard2 .pc-pline .k { display: none; }
  .pc-lcard2 .pc-pfoot { margin: 12px -16px 0; padding: 11px 16px 13px; }
  .pc-lcard2 .pc-ptop2 .pc-brand { color: var(--pc-gold); font-size: 12px; }
}

/* ---- PC 시안 v2 · 홈 아래쪽 ---- */
@media (min-width: 1024px) {
  .pc-band { margin-top: 48px; }
  /* 새 글 표시: 빨간 점 대신 남색 작은 표시 */
  .pc-new { width: 22px; height: 22px; font-size: 11px; left: 10px; top: 10px; background: #071E45; color: var(--gold-hi); animation: none; box-shadow: 0 0 0 2px rgba(255,255,255,.9); }

  /* 최근 거래 결과: 선으로 정리 */
  .pc-rcard { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); }
  .pc-rcard:hover { box-shadow: 0 16px 30px -18px rgba(14,17,22,.3); }
  .pc-rcard .pc-ph { aspect-ratio: 3 / 2; }
  .pc-rhi { background: none; padding: 0; border-radius: 0; }
  .pc-rhi b { font-size: 21px; }
  .pc-rhi span { color: var(--pc-sub); }

  /* 3단계: 낮고 차분하게 */
  .pc-step { height: 270px; border-radius: 14px; box-shadow: none; }
  .pc-step-no { font-size: 40px; left: 24px; bottom: 100%; margin-bottom: -4px; }
  .pc-step-in { padding: 22px 24px 24px; gap: 6px; }
  .pc-step-ic { display: none; }
  .pc-step b { font-size: 19px; }
  .pc-step p { font-size: 13.5px; min-height: 0; }
  .pc-step::after { background: linear-gradient(180deg, rgba(7,30,69,.1) 0%, rgba(7,30,69,.45) 45%, rgba(7,16,36,.94) 100%); }

  /* 우수 회원사: 정보를 덜어 한눈에 */
  .pc-dl-card { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); }
  .pc-dl-card:hover { box-shadow: 0 18px 34px -20px rgba(14,17,22,.32); transform: translateY(-2px); }
  .pc-dl-cover { height: 180px; }
  .pc-dl-mono { font-size: 40px; letter-spacing: .14em; opacity: .9; }
  .pc-dl-no { left: 16px; top: 14px; }
  .pc-dl-body { padding: 42px 22px 20px; gap: 6px; }
  .pc-dl-body h3 { font-size: 19px; }
  .pc-dl-intro { display: none; }
  .pc-dl-tag { font-size: 15.5px; margin: 4px 0 2px; }
  .pc-dl-nav { width: 36px; height: 36px; font-size: 20px; }

  /* 후기 · 바로가기 */
  .pg-home .rv-grid > .review { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); }
  .pg-home .rv-grid .rv-thumb .thumb { height: 150px; }
  .pg-home .menu-list > * { border-radius: 12px; box-shadow: none; border: 1px solid var(--pc-line); padding: 18px 20px; font-size: 14px; font-weight: 600; }
  .pg-home .menu-list > *:hover { border-color: #C9A227; }
  .pg-home > .section:last-of-type { padding-top: 40px; }

  /* 푸터: 남색 바탕으로 마무리 */
  .phone.cust .site-footer { background: #0A1730; border-top: 0; color: var(--on-navy-2); }
  .phone.cust .site-footer .ft-links a { color: var(--on-navy-2); }
  .phone.cust .site-footer .ft-links a.on { color: #fff; text-decoration-color: #C9A227; }
  .phone.cust .site-footer .ft-info b { color: var(--on-navy); }
  .phone.cust .site-footer .ft-note { color: var(--on-navy-2); }
  .phone.cust .site-footer .ft-copy { color: var(--on-navy-2); }
}
@media (min-width: 1024px) {
  .pc-dl-track { margin: 0; padding: 4px 0 18px; }
  .pc-dl-col { height: 100%; overflow: hidden; grid-auto-rows: minmax(0, 1fr); }
  .pc-dl-col img { min-height: 0; height: 100%; }
}
@media (min-width: 1024px) {
  .pg-home .hero.has-photo::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit; background: linear-gradient(180deg, rgba(14,17,22,0) 55%, rgba(14,17,22,.78) 100%); }
  .pg-home .hero-collage { opacity: .55; filter: saturate(.8); }
}

/* ---- PC 시안 v2 · 입점 안내: 핵심 메시지 + 장점 4 + 절차 4 + 신청 ---- */
@media (min-width: 1024px) {
  .pg-partner .mo-pcard { display: none; }
  .pg-partner > .hero-wrap { padding-top: 8px; }
  .pg-partner .hero { padding: 56px 64px 52px !important; border-radius: 20px; position: relative; overflow: hidden;
    background: linear-gradient(90deg, #071E45 0%, #071E45 42%, rgba(7,30,69,.78) 70%, rgba(7,30,69,.35) 100%), url(photos/hero-rolex.jpg) right center / cover no-repeat; }
  .pg-partner .hero .deco { display: none; }
  .pg-partner .hero h1 { font-size: 38px !important; letter-spacing: -.03em; }
  .pg-partner .hero p { font-size: 16px; color: rgba(236,240,248,.8); margin-bottom: 22px; }
  .pg-partner .hero .pills { gap: 10px; }
  .pg-partner .hero .pill { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.22); color: #F5F2EA; font-size: 13px; padding: 7px 14px; }
  .pg-partner > .section.stack { display: flex; flex-direction: column; gap: 0; max-width: 1200px; padding-top: 0; }

  .pc-pwhy { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 56px; border-top: 1px solid var(--pc-line); border-bottom: 1px solid var(--pc-line); }
  .pc-pw { padding: 34px 28px 36px; display: flex; flex-direction: column; gap: 10px; }
  .pc-pw + .pc-pw { border-left: 1px solid var(--pc-line); }
  .pc-pw-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #D9C98F; color: var(--gold-ink); background: #FFFCF3; margin-bottom: 6px; }
  .pc-pw b { font-size: 18px; letter-spacing: -.03em; color: var(--pc-ink); }
  .pc-pw p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--pc-sub); }

  .pc-pflow { display: block !important; margin-top: 56px; }
  .pc-pflow-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 26px; }
  .pc-pflow-head b { font-size: 24px; letter-spacing: -.035em; color: var(--pc-ink); }
  .pc-pflow-head span { font-size: 13px; color: var(--pc-sub); }
  .pc-pflow ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; position: relative; }
  .pc-pflow li { position: relative; display: flex; flex-direction: column; gap: 6px; padding-top: 0; }
  .pc-pflow li::before { content: ''; position: absolute; left: 44px; right: -24px; top: 17px; height: 1px; background: #D9D3C2; }
  .pc-pflow li:last-child::before { display: none; }
  .pc-pflow li i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #071E45; color: var(--gold-hi); font-style: normal; font-family: var(--serif); font-weight: 700; font-size: 16px; margin-bottom: 10px; position: relative; z-index: 1; }
  .pc-pflow li b { font-size: 16px; color: var(--pc-ink); letter-spacing: -.02em; }
  .pc-pflow li span { font-size: 13.5px; color: var(--pc-sub); }

  .phone.cust.pg-partner > .section.stack > .btn-cta { grid-column: auto; width: 320px !important; max-width: 320px !important; height: 56px; margin: 56px auto 0 !important; justify-self: center !important; }
  .phone.cust.pg-partner > .section.stack > .btn-line { grid-column: auto; width: 320px !important; max-width: 320px !important; height: 52px; min-height: 0; margin: 12px auto 0 !important; justify-self: center !important; border: 0; background: none; box-shadow: none; color: var(--notice-ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #C9A227; font-weight: 700; }
  .pg-partner .p-note { margin-top: 6px; }

  .pc-pmore { display: block !important; margin-top: 40px; border-top: 1px solid var(--pc-line); }
  .pc-pmore summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 20px 4px; font-size: 14px; color: var(--pc-sub); }
  .pc-pmore summary::-webkit-details-marker { display: none; }
  .pc-pmore summary em { font-style: normal; font-weight: 700; color: var(--pc-ink); border-bottom: 1px solid #C9A227; }
  .pc-pmore[open] summary em::after { content: ' 접기'; }
  .pc-pmore:not([open]) summary em::after { content: ' ＋'; }
  .pc-pmore-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 56px; padding: 8px 4px 32px; }
  .pc-pmore-grid b { display: block; font-size: 15px; margin-bottom: 8px; color: var(--pc-ink); }
  .pc-pmore-grid p, .pc-pmore-grid li { font-size: 14px; line-height: 1.75; color: var(--ink-2); margin: 0; }
  .pc-pmore-grid ul { margin: 0; padding-left: 18px; }
  .pc-pmore-grid small { display: block; margin-top: 8px; font-size: 12.5px; color: var(--pc-sub); }
}
@media (min-width: 1024px) {
  .phone.cust.pg-partner > .hero-wrap { padding-left: 32px !important; padding-right: 32px !important; box-sizing: border-box; }
  .pg-partner .hero { padding: 46px 60px 44px !important;
    background: linear-gradient(90deg, #071E45 0%, #071E45 40%, rgba(7,30,69,.82) 68%, rgba(7,30,69,.6) 100%), url(photos/hero-rolex.jpg) right center / cover no-repeat; }
}

/* ---- PC 시안 v2 · 고객 화면 공통: 선으로 정리한 카드, 가벼운 화면 제목 ---- */
@media (min-width: 1024px) {
  .phone.cust:not(.pg-home) > .topbar { padding-top: 44px; padding-bottom: 10px; gap: 10px; }
  .phone.cust:not(.pg-home) > .topbar .title { font-size: 30px; letter-spacing: -.04em; color: var(--pc-ink); }
  .phone.cust:not(.pg-home) > .topbar .icon-btn { width: 34px; height: 34px; border: 0; background: none; color: var(--muted); font-size: 22px; margin-left: -8px; }
  .phone.cust:not(.pg-home) > .topbar .icon-btn:hover { background: #EFECE3; color: var(--navy); }
  .phone.cust:not(.pg-home) .card { box-shadow: none; border: 1px solid var(--pc-line); border-radius: 14px; }
  .phone.cust:not(.pg-home) .menu-list { box-shadow: none; border: 1px solid var(--pc-line); border-radius: 14px; }
  .phone.cust:not(.pg-home) .sec-head h2 { letter-spacing: -.035em; color: var(--pc-ink); }

  /* 이용 안내: 상자 대신 가는 선과 큰 숫자 */
  .pg-guide > .section.stack { gap: 0; padding-top: 12px; }
  .pg-guide > .section.stack > .card:first-child { border: 0 !important; gap: 0; border-top: 1px solid var(--pc-line) !important; border-radius: 0 !important; }
  .pg-guide .guide-step { border-radius: 0 !important; box-shadow: none !important; background: none !important; padding: 34px 32px 38px 0; gap: 10px; border: 0 !important; border-bottom: 1px solid var(--pc-line) !important; }
  .pg-guide .guide-step:nth-child(3n+2), .pg-guide .guide-step:nth-child(3n) { padding-left: 32px; border-left: 1px solid var(--pc-line) !important; }
  .pg-guide .guide-step .n { width: auto; height: auto; background: none; color: var(--gold-ink); font-family: var(--serif); font-size: 40px; font-weight: 600; line-height: 1; place-items: start; }
  .pg-guide .guide-step .n::before { content: '0'; }
  .pg-guide .guide-step b { font-size: 18px; letter-spacing: -.03em; color: var(--pc-ink); }
  .pg-guide .guide-step .small { font-size: 14px; color: var(--pc-sub); line-height: 1.7; }
  .pg-guide > .section.stack > .card.pad { margin-top: 40px; background: #F0ECE0; border: 0; border-radius: 14px; padding: 26px 32px; }
  .pg-guide .flabel { font-size: 15px; font-weight: 800; color: var(--pc-ink); }
  .pg-guide > .section.stack > .btn-gold { margin: 40px auto 0; width: 320px; height: 56px; }

  /* 고객센터: 첫 화면을 낮추고 가치 3칸은 선으로 */
  .pg-cs .cs-hero { min-height: 300px; border-radius: 14px; }
  .pg-cs .cs-hero-txt h2 { font-size: 30px; }
  .pg-cs .cs-meaning { background: none; border: 0 !important; border-top: 1px solid var(--pc-line) !important; border-radius: 0 !important; padding: 36px 0 12px; }
  .pg-cs > .section.stack > .cs-value { border: 0 !important; background: none; box-shadow: none; border-radius: 0 !important; padding: 8px 8px 8px 0; }
  .pg-cs .cs-ic { background: none; border: 1px solid #D9C98F; color: var(--gold-ink); }
  .pg-cs .cs-value b { font-size: 17px; letter-spacing: -.03em; }
  .pg-cs .sec-head.cs-head { margin-top: 36px; }
  .pg-cs .menu-list > * { padding: 16px 20px; }
}
@media (min-width: 1024px) { .pg-guide .guide-step .n { display: block; } }
@media (min-width: 1024px) {
  .pg-cs .cs-hero { min-height: 0; height: 300px; }
  .pg-cs .cs-collage { position: absolute; inset: 0; height: auto; opacity: .7; grid-template-columns: 1.2fr 1fr 1fr; filter: grayscale(.35); }
  .pg-cs .cs-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #0A1730 0%, rgba(10,23,48,.92) 36%, rgba(10,23,48,.35) 75%, rgba(10,23,48,.2) 100%); }
  .pg-cs .cs-hero-txt { position: absolute; z-index: 2; left: 56px; bottom: 0; top: 0; margin: 0; padding: 0; background: none; max-width: 520px; display: flex; flex-direction: column; justify-content: center; }
  .pg-cs .cs-hero-txt h2 { font-size: 34px; letter-spacing: -.035em; margin: 10px 0 14px; }
  .pg-cs .cs-hero-txt p { font-size: 15px; color: rgba(236,240,248,.78); }
  .pg-cs .cs-word { font-size: 40px; }
  .pg-cs .menu-list > * + * { border-top: 1px solid var(--pc-line); }
  .pg-cs .faq { border-radius: 0 !important; box-shadow: none !important; border: 0 !important; border-bottom: 1px solid var(--pc-line) !important; margin: 0 !important; background: none; }
  .pg-cs .cs-col > .card:has(.faq) { padding: 0 4px; }
}

/* ---- PC 시안 v2 · 견적함 · 거래 상세 · 마이페이지 ---- */
@media (min-width: 1024px) {
  .phone.cust:not(.pg-home) > .topbar > span[style*="width:28px"]:first-child { display: none; }
  .pc-bsum > div { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); padding: 18px 22px; }
  .pc-bsum > div b { font-size: 28px; }
  .pc-bsum > div.hot { background: #FBF6E6; border-color: #D9B84C; box-shadow: none; }
  .pc-bsum .btn { height: 52px; border-radius: 26px; }
  .pc-btabs button { height: 38px; font-size: 13.5px; }
  .pc-bgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  .pc-bcard { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); }
  .pc-bcard:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -18px rgba(14,17,22,.3); }
  .pc-bcard.attn { border-color: #D9B84C; box-shadow: 0 0 0 1px #D9B84C; animation: none; }
  .pc-bcard.is-new { border-color: #071E45; box-shadow: 0 0 0 1px #071E45; }
  .pc-bcard .pc-ph { aspect-ratio: 5 / 4; }
  .pc-bbody { padding: 14px 16px 14px; gap: 5px; }
  .pc-bbody .pc-name { font-size: 15.5px; }
  .pc-bfoot .amount { font-size: 20px; }

  /* 거래 상세 / 마이페이지 안쪽 카드 */
  .pg-my .card, .pg-item .card, .mysub .card { box-shadow: none; border: 1px solid var(--pc-line); border-radius: 14px; }
  .pg-my .pc-my-side, .pg-item .pc-iside { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); }
}
@media (min-width: 1024px) {
  .pc-my-side, .pc-my-card, .pc-iside-in { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line); }
  .pc-my-tile { border-radius: 12px; box-shadow: none; border: 1px solid var(--pc-line); }
  .pc-my-tile:hover { border-color: #C9A227; transform: none; }
  .pc-my-av { background: #071E45; }
  .pc-my-stats { background: #F4F1E8; border-radius: 10px; }
  .pc-my-nav a { font-size: 14px; border-radius: 8px; }
  .pc-my-nav a.on { background: #071E45; }
  .pc-my-todo { background: #FBF6E6; border: 1px solid #EEDFB6; border-radius: 10px; }
  .pc-my-ic { border-radius: 50%; background: #FBF6E6; border: 1px solid #EBDDB0; }
  .pc-my-card h3 { font-size: 18px; letter-spacing: -.03em; }
}
@media (min-width: 1024px) { body:has(> #app .phone.cust) { background: var(--paper); } }

/* ---- PC 시안 v2 · 회원사 화면: 남색 메뉴, 선으로 정리한 카드 ---- */
@media (min-width: 1024px) {
  .dsb { background: #0A1730; }
  .dsb-me { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; }
  .dsb-g { color: var(--on-navy-2); letter-spacing: .1em; }
  .dsb nav a { font-size: 13.5px; border-radius: 8px; color: var(--on-navy-2); position: relative; }
  .dsb nav a.on { background: rgba(255,255,255,.09); color: #fff; font-weight: 700; }
  .dsb nav a.on::before { content: ''; position: absolute; left: -14px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: #C9A227; }
  .dsb-n { background: #C9A227; color: var(--ink); font-weight: 700; }
  .dsb-n.n { background: #E9C55A; }

  .phone.dl:not(.dl-auth) .card { box-shadow: none; border: 1px solid var(--pc-line); border-radius: 14px; }
  .pg-d-list .section > .card:last-child > .item-row,
  .pg-d-deals .deal-list { border: 0 !important; }
  .pg-d-deals .deal-list > * { border-radius: 14px; box-shadow: none; border: 1px solid var(--pc-line) !important; }
  .pg-d-deals .deal-list > .attn { border-color: #D9B84C !important; box-shadow: 0 0 0 1px #D9B84C; }
  .pg-d-list .section > .card:last-child { border: 0 !important; background: none; }
  .pg-d-list .section > .card:last-child > .item-row:hover { border-color: #C9A227 !important; }
  .pg-d-list > .dtabs > * { padding: 9px 18px; font-size: 14px; }
  .pg-d-list > .dtabs > .on { background: #071E45; border-color: #071E45; }
  .phone.dl .topbar .title, .phone.dl > .topbar .title { letter-spacing: -.04em; color: var(--pc-ink); }
}
@media (min-width: 1024px) {
  .phone.dl .n-badge { background: #071E45; color: var(--gold-hi); box-shadow: none; animation: none; }
}
@media (min-width: 1024px) { .phone.dl > .topbar > span[style*="width:28px"]:first-child { display: none; } }

/* ===== 반란 검수 (2026-10-26): 고객 상품 사진 대응 · 우수 회원사 카드 ===== */
@media (min-width: 1024px) {
  /* 고객 사진은 단색 배경 위 상품 사진(대개 세로 사진)이라, 잘림이 적은 정사각형으로 통일 */
  .pc-pcard2 .pc-ph, .pc-lcard .pc-ph { aspect-ratio: 1 / 1; background: #F3F1EC; }
  /* 흰 배경 사진 위에서도 남은 시간 표시가 묻히지 않게 */
  .pc-pcard2 .pc-ph .timer, .pc-lcard .pc-ph .timer { box-shadow: 0 0 0 1px rgba(14,17,22,.08), 0 2px 6px rgba(14,17,22,.08); }
  /* 우수 회원사: 사진 없는 로고 중심 카드, 한 화면에 4장 */
  .pc-dl-card.v2 { flex: 0 0 calc((100% - 72px) / 4); padding: 22px 20px 18px; gap: 12px; }
  .pc-dl-head { display: flex; gap: 12px; align-items: center; }
  .pc-dl-logo2 .avatar { width: 56px !important; height: 56px !important; border-radius: 12px; box-shadow: 0 0 0 1px var(--pc-line, #E7E3DA); }
  .pc-dl-card.v2 h3 { margin: 2px 0 1px; font-size: 16.5px; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pc-dl-card.v2 .pro-badge { font-size: 11px; }
  .pc-dl-card.v2 .pc-dl-tag { margin: 0; font-size: 14.5px; line-height: 1.5; min-height: 2.9em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .pc-dl-card.v2 .pc-dl-brands { flex-wrap: nowrap; overflow: hidden; height: 24px; }
  .pc-dl-card.v2 .pc-dl-brands span { flex: none; white-space: nowrap; }
  .pc-dl-card.v2 .pc-dl-brands span { font-size: 11.5px; padding: 2px 9px; }
  .pc-dl-card.v2 .pc-dl-stats { grid-template-columns: repeat(3, 1fr); margin-top: 0; padding: 10px 0; }
  .pc-dl-card.v2 .pc-dl-stats b { font-size: 14.5px; }
  .pc-dl-new { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; background: #F7F4EC; }
  .pc-dl-new b { font-size: 12.5px; color: var(--gold-ink); }
  .pc-dl-new span { font-size: 12px; color: var(--muted); }
  .pc-dl-card.v2 .pc-dl-mgr { gap: 10px; padding-top: 2px; }
  .pc-dl-card.v2 .pc-dl-msg { -webkit-line-clamp: 1; }
  .pc-dl-card.v2 .pc-dl-go { padding-top: 4px; font-size: 13px; }
}

/* ===== 홈 상단 배너 C안 "맑은 네이비" (2026-10-26 대표 선택): 검정 대신 브랜드 남색 + 밝은 사진 카드 ===== */
.hero.hero-c { background: radial-gradient(120% 140% at 0% 0%, #1D4C93 0%, #0E2F66 55%, #0A2550 100%); color: #fff; }
.hero.hero-c .hero-collage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: center; height: 178px; padding: 18px 18px 0; opacity: 1; filter: none; }
.hero.hero-c .hero-collage img { height: 88%; border-radius: 14px; background: #fff; box-shadow: 0 16px 30px -16px rgba(0,0,0,.55); }
.hero.hero-c .hero-collage img:nth-child(2) { height: 100%; }
.hero.hero-c .hero-body { margin-top: 0; padding: 20px 22px 22px; background: none; }
.hero.hero-c .eyebrow { color: #E7CC72; }
.hero.hero-c h1 { color: #fff; }
.hero.hero-c h1 em { color: #E7CC72; }
.hero.hero-c p { color: #C9D5EA; }
.hero.hero-c .pill { border-color: rgba(255,255,255,.26); background: rgba(255,255,255,.08); color: #EEF2F9; }
@media (min-width: 1024px) {
  .pg-home .hero.hero-c { display: grid; grid-template-columns: 1.25fr 1fr; align-items: stretch; min-height: 440px; }
  .pg-home .hero.hero-c::before, .pg-home .hero.hero-c::after { display: none; }
  .pg-home .hero.hero-c .hero-collage { position: static; order: 2; height: auto; padding: 34px 40px 34px 0; gap: 14px; opacity: 1; filter: none; }
  .pg-home .hero.hero-c .hero-collage img { height: 86%; border-radius: 18px; box-shadow: 0 22px 44px -20px rgba(0,0,0,.55); }
  .pg-home .hero.hero-c .hero-collage img:nth-child(2) { height: 100%; }
  .pg-home .hero.hero-c .hero-body { order: 1; align-self: center; padding: 56px 40px 52px 64px; max-width: none; }
  .pg-home .hero.hero-c p { color: #C9D5EA; }
  .pg-home .hero.hero-c .hero-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); }
  .pg-home .hero.hero-c .hero-ghost:hover { background: rgba(255,255,255,.1); }
  .pg-home .hero.hero-c .hero-trust { border-top-color: rgba(255,255,255,.16); }
  .pg-home .hero.hero-c .hero-trust > div + div { border-left-color: rgba(255,255,255,.16); }
  .pg-home .hero.hero-c .hero-trust b { color: #fff; }
  .pg-home .hero.hero-c .hero-trust b i { background: rgba(231,204,114,.22); color: #E7CC72; }
  .pg-home .hero.hero-c .hero-trust span { color: #B9C6DD; }
}

/* ===== 상품 사진 표시 (2026-10-26, 크리·헤이비 참고) =====
   휴대폰: 정사각형 틀을 사진으로 꽉 채우고, 목록 사진을 크게 보여요.
   PC 큰 카드: 사진이 잘리거나 테두리에 붙지 않게 흰 바탕에 조금 여백을 둬요. */
.thumb { background: #fff; }
.tick-card .thumb, .rv-thumb .thumb { display: block; }
.tick-card .thumb img, .rv-thumb .thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1023px) {
  .tick-card .thumb { height: auto; aspect-ratio: 1 / 1; }
  .rv-thumb .thumb { width: 100px; height: 100px; }
  .thumb-wrap .thumb, .thumb-wrap.sm .thumb, .item-row.r2 .thumb-wrap .thumb { width: 88px; height: 88px; }
  .thumb-wrap.sm .prem-ov { font-size: 9px; height: 17px; padding: 0 6px; bottom: -6px; }
}
@media (min-width: 1024px) {
  /* 상품 사진은 모두 배경이 있는 사진이라 PC 카드도 틀을 꽉 채워요 */
  .pc-pcard2 .pc-ph img, .pc-pcard2 .pc-ph img.main, .pc-lcard .pc-ph .thumb img, .pc-bcard .pc-ph .thumb img, .pc-rcard .pc-ph .thumb img, .pg-home .rv-grid .rv-thumb .thumb img { object-fit: cover; padding: 0; }
}


/* 휴대폰 상단 로고 크기 줄이기 (2026-10-26 대표): 화면 폭에 비해 너무 컸어요 */
@media (max-width: 1023px) {
  .topbar.light .logo .wm { font-size: 22px; }
  .topbar.light .logo .tagline { font-size: 9.5px; }
  .topbar.light .logo .wm-block { row-gap: 2px; }
}

/* 새 매물 N 표시: 빨간색 (2026-10-26 대표). PC 실시간 등록 카드 + 휴대폰 실시간 등록 목록 */
.mo-new { position: absolute; left: 4px; top: 4px; z-index: 1; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #E5484D; color: #fff; font-size: 10px; font-weight: 900; line-height: 1; box-shadow: 0 0 0 1.5px #fff; }
@media (min-width: 1024px) {
  .pc-new { background: #E5484D; color: #fff; box-shadow: 0 0 0 2px #fff; }
}

/* 휴대폰 상단: 로고와 배너 사이 여백 줄이기 (2026-10-26 대표) — 배너 자체는 그대로 */
@media (max-width: 1023px) {
  .topbar.light { height: 56px; min-height: 56px; }
  .pg-home .hero-wrap { padding-top: 0; }
}

/* ===== 회원사 랭킹 화면 꾸미기 (2026-10-26) ===== */
.rank-hero { border-radius: 22px; padding: 22px 20px 18px; margin-bottom: 14px; color: #fff; background: radial-gradient(120% 140% at 0% 0%, #1D4C93 0%, #0E2F66 55%, #0A2550 100%); }
.rank-hero .eyebrow { color: var(--gold-hi); font-size: 11px; letter-spacing: .12em; }
.rank-hero h2 { margin: 6px 0 4px; font-size: 22px; letter-spacing: -.03em; color: #fff; }
.rank-hero p { margin: 0; font-size: 12.5px; color: var(--on-navy-2); line-height: 1.5; }
.rank-hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.14); }
.rank-hero-stats > div { display: flex; flex-direction: column; gap: 2px; }
.rank-hero-stats > div + div { padding-left: 14px; border-left: 1px solid rgba(255,255,255,.14); }
.rank-hero-stats b { font-family: var(--serif); font-size: 20px; color: #fff; font-weight: 700; }
.rank-hero-stats b small { font-family: var(--sans); font-size: 11px; color: var(--on-navy-2); margin-left: 2px; font-weight: 600; }
.rank-hero-stats span { font-size: 11px; color: var(--on-navy-2); }
/* 휴대폰 시상대: 2위·1위·3위 */
.mo-podium { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 8px; align-items: end; margin: 22px 0 12px; }
.mo-pod { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 8px 14px; border-radius: 18px; background: #fff; border: 1px solid #ECE7DC; text-align: center; color: inherit; text-decoration: none; }
.mo-pod.n1 { padding-top: 24px; background: linear-gradient(180deg, #FBF5E3 0%, #fff 70%); border-color: #E7D6A3; box-shadow: 0 12px 26px -16px rgba(138,106,28,.45); }
.mo-pod b { font-size: 12.5px; line-height: 1.3; letter-spacing: -.02em; word-break: keep-all; }
.mo-pod-v { font-size: 11px; color: var(--muted); font-weight: 600; }
.mo-pod-no { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-weight: 700; font-size: 13px; color: #fff; box-shadow: 0 0 0 2px #fff; }
.mo-pod.n1 .mo-pod-no { background: linear-gradient(180deg, #E3C35A, #B8921F); width: 28px; height: 28px; top: -13px; font-size: 15px; }
.mo-pod.n2 .mo-pod-no { background: linear-gradient(180deg, #C9CFD8, #8F98A5); }
.mo-pod.n3 .mo-pod-no { background: linear-gradient(180deg, #D49A6A, #A06A3E); }
@media (min-width: 1024px) {
  .mo-podium { display: none; }
  .rank-hero { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 36px 44px; border-radius: 22px; margin-bottom: 22px; }
  .rank-hero h2 { font-size: 32px; margin: 8px 0 6px; }
  .rank-hero p { font-size: 15px; }
  .rank-hero-stats { margin: 0; padding: 0; border: 0; gap: 0; min-width: 460px; }
  .rank-hero-stats > div { padding: 0 26px; }
  .rank-hero-stats b { font-size: 30px; }
  .rank-hero-stats b small { font-size: 13px; }
  .rank-hero-stats span { font-size: 13px; }
  /* 시상대: 1위를 가운데·높게 */
  .pc-podium { align-items: end; }
  .pc-pod.n1 { padding-top: 46px; padding-bottom: 30px; border: 1.5px solid #E2CB86; background: linear-gradient(180deg, #FBF5E3 0%, #fff 55%); box-shadow: 0 24px 44px -26px rgba(138,106,28,.55); }
  .pc-pod.n2, .pc-pod.n3 { margin-top: 26px; }
  .pc-pod-crown { position: absolute; top: 18px; right: 20px; font-family: var(--serif); font-size: 11px; letter-spacing: .18em; color: var(--gold-ink); background: #F4E9C6; padding: 4px 10px; border-radius: 999px; }
  .pc-pod.n1 .pc-pod-no { color: var(--gold-ink); }
  .pc-pod.n2 .pc-pod-no { color: var(--muted); }
  .pc-pod.n3 .pc-pod-no { color: var(--amber-ink); }
  /* 표: 1~3위 메달 번호, 선택한 기준 열 강조 */
  .pc-rt-row .no.m1, .pc-rt-row .no.m2, .pc-rt-row .no.m3 { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff !important; font-size: 15px; }
  .pc-rt-row .no.m1 { background: linear-gradient(180deg, #E3C35A, #B8921F); }
  .pc-rt-row .no.m2 { background: linear-gradient(180deg, #C9CFD8, #8F98A5); }
  .pc-rt-row .no.m3 { background: linear-gradient(180deg, #D49A6A, #A06A3E); }
  .pc-rt-row .v.on { color: var(--navy); font-weight: 800; background: #FBF7EA; margin: -26px 0; padding: 26px 0; }
  .pc-rt-head .on { color: var(--gold-ink); font-weight: 800; }
}

/* 매장 사진 4장: 휴대폰 2×2, PC 4칸 (2026-10-26) */
.store-photos { grid-template-columns: repeat(2, 1fr); }
.store-photos img { aspect-ratio: 4 / 3; }

/* 회원사 프로필 휴대폰 표지: 첫 번째 매장 사진 (PC는 pc-cover가 담당) */
.cover .mo-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cover:has(.mo-cover) { height: 160px; }
.cover:has(.mo-cover)::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,30,69,.05) 40%, rgba(7,30,69,.45) 100%); pointer-events: none; }
.cover .avatar { z-index: 2; }
@media (min-width: 1024px) { .cover .mo-cover, .cover:has(.mo-cover)::after { display: none; } }

/* 휴대폰 프리미엄·실시간 등록 목록: 등급 줄 아래 풀세트·구성품 한 줄 (PC 카드와 같은 정보) */
.mo-comp { margin-top: 6px; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 6px; }
.mo-comp b { color: var(--ink-2); font-weight: 700; flex: none; }
.mo-comp i { width: 3px; height: 3px; border-radius: 50%; background: #C4C8CE; flex: none; }

/* 남은 시간 원형 타이머 (C안) + 휴대폰 목록에서는 오른쪽 아래 줄로 */
.timer .ic.ring { margin-right: 4px; flex: none; }
.timer:has(.ring) { display: inline-flex; align-items: center; }
.mo-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.mo-bottom .mo-comp { margin-top: 0; flex: 1; min-width: 0; }
.mo-bottom .timer { flex: none; }
/* 휴대폰 목록: 남은 시간은 칸 오른쪽 맨 아래(구분선 바로 위), 구성품은 한 줄 전체 */
.mo-bottom { flex-direction: column; align-items: stretch; gap: 8px; }
.mo-bottom .mo-comp:empty { display: none; }
.mo-bottom .timer { align-self: flex-end; }
/* 휴대폰 목록 마지막 줄: 견적 수(왼쪽) ↔ 남은 시간(오른쪽) */
.mo-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mo-bids { font-size: 12.5px; color: var(--ink-2); }
.mo-bids b { color: var(--ink); font-weight: 800; }
.mo-bids.none { color: var(--muted); }
.timer .ring + span, b[data-timer] .ring + span { white-space: nowrap; }
b[data-timer] .ic.ring { vertical-align: -2px; margin-right: 3px; }

/* "2위보다 N만원 더": 금액만 빨간색으로 강조 (2026-10-26) */
.gain { color: var(--ink-2); font-weight: 600; }
.gain b, b.gain, .gain .num { color: var(--red-ink); font-weight: 800; }
.result-hero .gain, .result-hero .gain b { color: var(--gold-hi); }
@media (min-width: 1024px) { .pc-rhi b { color: var(--red-ink); } }
/* S급 등급 마크: 금색 바탕 + 흰 글씨로 눈에 띄게 */
.grade.g-S { background: linear-gradient(180deg, #DDBB4E, #B8921F); color: #fff; box-shadow: 0 1px 2px rgba(138,106,28,.35); }
@media (min-width: 1024px) {
  .pc-pfoot .pc-grade.g-S b, .pc-ptop .pc-grade.g-S b { background: linear-gradient(180deg, #DDBB4E, #B8921F); color: #fff; }
  .pc-pcard .pc-meta .grade.g-S { background: linear-gradient(180deg, #DDBB4E, #B8921F); color: #fff; padding: 0 6px; height: 20px; border-radius: 6px; }
}
/* NEW 표시: 동그라미 N → 빨간 직사각형 NEW 태그 (2026-10-26 대표) */
.mo-new, .pc-new { width: auto !important; height: auto !important; border-radius: 3px !important; padding: 2px 5px; font-family: var(--sans); font-size: 9.5px !important; font-weight: 800; letter-spacing: .08em; line-height: 1.2; background: #C8313A !important; color: #fff !important; box-shadow: none !important; animation: none !important; }
.mo-new { left: 5px; top: 5px; }
@media (min-width: 1024px) { .pc-new { left: 12px; top: 12px; padding: 4px 9px; font-size: 12px !important; } }
/* S급: 금색 대신 진한 주황 바탕 + 흰 글자로 확실히 눈에 띄게 */
.grade.g-S { background: #E8590C !important; color: #fff !important; box-shadow: none; }
@media (min-width: 1024px) {
  .pc-pfoot .pc-grade.g-S b, .pc-ptop .pc-grade.g-S b, .pc-pcard .pc-meta .grade.g-S { background: #E8590C !important; color: #fff !important; }
}
/* 견적 N팀: 숫자만 검정 볼드 (PC·휴대폰 공통) */
@media (min-width: 1024px) { .pc-teams { font-weight: 400; } .pc-teams b { color: var(--ink); font-weight: 800; } }
/* 휴대폰 목록 등급 박스 조금 작게 */
@media (max-width: 1023px) { .item-row .tags .grade { min-width: 18px; height: 18px; font-size: 10.5px; border-radius: 5px; } }
@media (min-width: 1024px) { .pc-teams b { margin: 0 1px 0 4px; } }
/* 등급 박스 크기 통일: 최근 거래 결과·후기 사진 위 (S·A·B 모두 같은 크기) */
.tick-card .grade, .rv-thumb .grade, .item-row .tags .grade { min-width: 18px !important; height: 18px !important; padding: 0 !important; font-size: 10.5px !important; border-radius: 5px !important; box-shadow: none !important; box-sizing: border-box; }
.tick-card .tick-vs { font-family: var(--sans); font-size: 12px; color: var(--muted); }
.tick-card .gain { white-space: nowrap; }
/* PC 최근 거래 결과 카드: 왼쪽 금액, 오른쪽 경쟁·판매 시간 (빈 공간 채우기) */
@media (min-width: 1024px) {
  .pc-rmid { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .pc-rmid .pc-rhi { min-width: 0; }
  .pc-rmid .pc-rfacts { flex-direction: column; align-items: flex-end; gap: 4px; margin: 0; padding: 0; border: 0; text-align: right; white-space: nowrap; }
  .pc-rmid .pc-rfacts i { display: none; }
}
/* PC 후기 카드: 후기 글은 2줄 높이로 고정해서 "N팀 경쟁" 줄을 카드끼리 맞춰요 */
@media (min-width: 1024px) {
  .pg-home .rv-grid .rv-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.2em; line-height: 1.6; }
}
/* 랭킹 표: 지표 4개 열(평점·약속가 유지율·평균 정산·거래 수)은 가운데 정렬 */
@media (min-width: 1024px) {
  .pc-rt-head > span:nth-child(n+4):nth-child(-n+7), .pc-rt-row > .v { text-align: center; justify-self: stretch; }
  .pc-rt-row .v.on { margin: -26px 0; padding: 26px 0; }
  .pc-rt-row .go { text-align: right; }
}

/* ===== 이용 안내 새 디자인 (2026-10-26) ===== */
.gd { display: flex; flex-direction: column; gap: 18px; padding-bottom: 28px !important; }
.gd-steps { display: flex; flex-direction: column; gap: 10px; }
.gd-step { display: flex; gap: 14px; align-items: center; background: #fff; border-radius: 18px; padding: 10px; border: 1px solid #ECE7DC; }
.gd-ph { position: relative; flex: none; width: 92px; height: 92px; border-radius: 12px; overflow: hidden; background: #F3F1EC; }
.gd-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gd-no { position: absolute; left: 6px; top: 6px; font-family: var(--serif); font-size: 13px; font-weight: 700; color: #fff; background: rgba(7,30,69,.82); border-radius: 6px; padding: 1px 6px; }
.gd-body { min-width: 0; }
.gd-ic { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--gold-soft); color: var(--gold-ink); margin-bottom: 6px; }
.gd-body b { display: block; font-size: 15px; letter-spacing: -.02em; margin-bottom: 3px; }
.gd-body p { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--muted); }
.gd-shot { background: #fff; border-radius: 18px; border: 1px solid #ECE7DC; padding: 16px; }
.gd-shot-head b { display: block; font-size: 15px; }
.gd-shot-head span { font-size: 12.5px; color: var(--muted); }
.gd-shots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.gd-shots figure { margin: 0; }
.gd-sph { aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: #F3F1EC; border: 1.5px dashed #D9D3C2; }
.gd-sph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gd-sph.zoom img { transform: scale(2.4); }
.gd-shots figcaption { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 6px; font-size: 11.5px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.gd-shots figcaption i { font-style: normal; display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: #071E45; color: #fff; font-size: 9.5px; }
.gd-tips { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 12.5px; color: var(--ink-2); }
.gd-tips li { display: flex; align-items: center; gap: 6px; }
.gd-tips li svg { color: var(--gold-ink); flex: none; }
.gd-cta { margin: 6px 0 0; }
@media (min-width: 1024px) {
  .pg-guide .gd { gap: 28px; padding: 8px 0 72px !important; }
  .gd-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; position: relative; }
  .gd-step { flex-direction: column; align-items: stretch; padding: 0; overflow: hidden; border-radius: 18px; gap: 0; }
  .gd-ph { width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 0; }
  .gd-no { left: 12px; top: 12px; font-size: 15px; padding: 2px 9px; }
  .gd-body { padding: 16px 18px 20px; }
  .gd-body b { font-size: 16.5px; margin: 2px 0 6px; }
  .gd-body p { font-size: 13.5px; line-height: 1.65; }
  .gd-shot { display: grid; grid-template-columns: 260px 1fr 300px; gap: 32px; align-items: center; padding: 28px 32px; }
  .gd-shot-head b { font-size: 18px; margin-bottom: 6px; }
  .gd-shot-head span { font-size: 14px; }
  .gd-shots { margin: 0; gap: 14px; }
  .gd-shots figcaption { font-size: 13px; }
  .gd-tips { font-size: 13.5px; gap: 10px; }
  .gd-cta { width: 420px !important; margin: 4px auto 0 !important; justify-content: center; }
}
@media (min-width: 1024px) {
  .pg-guide > .section.gd { max-width: 1136px !important; margin-left: auto !important; margin-right: auto !important; padding: 8px 0 40px !important; box-sizing: border-box; }
  .pg-guide .gd-cta { margin: 8px auto 0 !important; }
}
/* 이용 안내: 견적 받기 버튼 위·아래 여백 같게 (40px) */
.pg-guide > .section.gd { padding-bottom: 0 !important; }
.pg-guide .gd-cta { margin-top: 22px !important; }
.pg-guide .site-footer { margin-top: 40px !important; }
@media (min-width: 1024px) { .pg-guide .gd-cta { margin-top: 12px !important; } }
.gd-sph.svg { background: #FBF9F4; border: 1.5px solid #ECE7DC; padding: 6%; box-sizing: border-box; }
.gd-sph.svg svg { display: block; }

/* ===== 전체 정리 (2026-10-26): 하단 버튼·빈 화면·여백 통일 ===== */
.empty-state { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; background: #fff; border: 1px solid #ECE7DC; border-radius: 18px; padding: 40px 20px; color: var(--ink-2); }
.empty-state b { font-size: 15px; color: var(--navy); }
.empty-state .btn { width: 100%; max-width: 280px; margin-top: 6px; }
.es-art { display: block; width: 104px; height: 104px; background: #FBF9F4; border: 1.5px solid #ECE7DC; border-radius: 22px; padding: 14px; box-sizing: border-box; }
.iq-out-in { display: flex; align-items: center; gap: 14px; }
.iq-art { flex: none; width: 64px; height: 52px; }
.iq-out-tx b { display: block; font-size: 14.5px; margin-bottom: 2px; }
.rv-dist { display: none; }
@media (min-width: 1024px) {
  .phone.cust .end-cta { width: 420px !important; max-width: 100% !important; margin: 40px auto 0 !important; justify-self: center !important; align-self: center; display: flex; justify-content: center; box-sizing: border-box; }
  .phone.cust .btn-cta.end-cta { justify-content: space-between; }
  .phone.cust.pg-partner > .section.stack > .btn-cta.end-cta { width: 420px !important; max-width: 420px !important; height: 56px; margin: 40px auto 0 !important; justify-self: center !important; grid-column: 1 / -1; }
  /* 페이지 맨 아래 버튼: 위 40 / 아래 40 */
  .pg-faq > .section, .pg-partner > .section.stack, .pg-result > .section, .pg-review > .section { padding-bottom: 0 !important; }
  .pg-faq .site-footer, .pg-partner .site-footer, .pg-result .site-footer, .pg-review .site-footer { margin-top: 40px !important; }
  .pg-faq > .section { max-width: 816px; margin-left: auto !important; margin-right: auto !important; }
  /* 카드 안 저장 버튼(회원 정보·정산 계좌·VIP): 카드 가운데, 위 32 / 아래 12 */
  .phone.cust.pg-profile .end-cta, .phone.cust.pg-account .end-cta, .phone.cust.pg-vip .end-cta { margin: 32px auto 12px !important; }
  /* 고객센터 1:1 문의: 전체 폭 */
  .pg-cs .cs-col.cs-iq.iq-out { display: grid; grid-template-columns: minmax(0, 1fr); }
  .pg-cs .iq-out > .card { display: flex; flex-direction: column; align-items: center; padding: 36px 24px 40px; }
  .pg-cs .iq-out-in { flex-direction: column; text-align: center; gap: 12px; }
  .pg-cs .iq-art { width: 88px; height: 72px; }
  .pg-cs .iq-out .end-cta { margin: 24px auto 0 !important; }
  .pg-cs .cs-iq:not(.iq-out) .btn-navy { width: 100% !important; margin: 4px 0 0; }
  .pg-cs > .section.stack { padding-bottom: 0 !important; }
  .pg-cs .site-footer { margin-top: 56px !important; }
  /* 거래 결과(빈 화면) */
  .pg-result .empty-state { max-width: 560px; margin: 24px auto 0; padding: 56px 24px; }
  .pg-result .empty-state .btn { max-width: 420px; }
  .es-art { width: 128px; height: 128px; }
  /* 후기: 별점 분포로 오른쪽 빈자리 채우기 */
  .pg-reviews .card.pad.row .rv-dist { display: grid; gap: 6px; width: 300px; margin-left: auto; }
  .rv-d { display: grid; grid-template-columns: 30px 1fr 24px; gap: 10px; align-items: center; font-size: 12.5px; color: var(--muted); }
  .rv-d i { display: block; height: 6px; border-radius: 3px; background: #F0ECE0; overflow: hidden; }
  .rv-d i b { display: block; height: 100%; background: var(--gold); border-radius: 3px; }
  .rv-d em { font-style: normal; text-align: right; }
  /* 마이페이지 하단 링크 가운데 */
  .pc-my-links { justify-content: center; }
  .pg-reviews > .section { padding-bottom: 40px !important; }
}
@media (min-width: 1024px) {
  .pg-cs > .section.stack > .cs-col.cs-iq { grid-column: 1 / -1 !important; }
  .phone.cust .empty-state .end-cta { margin: 12px auto 0 !important; }
}
@media (min-width: 1024px) {
  .pg-cs > .section.stack > .cs-col.cs-iq.iq-out { grid-template-columns: minmax(0, 1fr) !important; }
}
.pay-ask { margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: var(--paper); display: grid; gap: 6px; }
.pay-ask-total { margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 15px; }
.pay-ask-total b { color: var(--navy); font-size: 18px; }
.modal .check-row { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.modal .check-row input { margin-top: 3px; width: 16px; height: 16px; flex: none; }

/* ===== 고객 화면 개선 (2026-10-27 기획안): 견적함 · 거래 상세 '지금 할 일' 카드 · 도움 상자 · MY ===== */
.tlink { color: var(--blue); font-weight: 700; font-size: 12.5px; text-decoration: underline; text-underline-offset: 2px; padding: 0; background: none; }
/* 견적함 (휴대폰): 할 일 띠 · 칩 · 카드 */
.box-band { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: #FFF6DB; border: 1px solid #E9C55A; box-shadow: 0 4px 14px -8px rgba(201,162,39,.5); }
.box-band .grow { display: grid; gap: 2px; min-width: 0; }
.box-band b { font-size: 14.5px; color: var(--notice-ink); }
.box-band .grow span { font-size: 12.5px; color: var(--notice-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.box-band .btn { flex: none; width: auto; height: 38px; padding: 0 14px; }
.box-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -2px; padding: 2px; }
.box-chips::-webkit-scrollbar { display: none; }
.box-chips .chip { flex: none; white-space: nowrap; }
.box-chips .chip b { font-variant-numeric: tabular-nums; }
.box-card { display: block; background: #fff; border-radius: 16px; box-shadow: var(--shadow, 0 1px 2px rgba(7,30,69,.06)); border: 1px solid transparent; overflow: hidden; color: inherit; }
.box-card.attn { border-color: #D9B84C; box-shadow: 0 0 0 1px #D9B84C, 0 6px 18px rgba(217,184,76,.22); }
.box-card.is-new { border-color: #1F2A44; }
.box-card.is-done { background: #FAFAF8; opacity: .86; }
.box-main { display: flex; gap: 12px; align-items: center; padding: 12px 14px; }
.box-main .thumb-wrap .thumb { width: 66px; height: 66px; border-radius: 12px; }
.box-main .grow { min-width: 0; display: grid; gap: 4px; }
.box-main .item-name { font-size: 14.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.box-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.box-sum { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 26px; }
.box-line { font-size: 12.5px; color: var(--ink-2); min-width: 0; }
.box-line .gain { display: inline-block; }
.box-line .bx-amt { color: var(--ink); font-size: 14px; }
.box-sum .timer { flex: none; }
.box-act { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: #FFF6DB; border-top: 1px solid #F0DFA8; color: var(--notice-ink); font-weight: 800; font-size: 13px; }
.box-act.soft { background: #F4F5F7; border-top-color: #E8EBF0; color: var(--ink-2); font-weight: 700; }
.pc-bcard.is-done { opacity: .88; }
.pc-bline { margin: 4px 0 2px; color: var(--ink-2); }
.pc-bline .bx-amt { color: var(--ink); }
/* 거래 상세: 맨 위 '지금 할 일' 카드 */
.now-card { display: grid; gap: 10px; border: 1.5px solid #D9B84C !important; background: #FFFDF5 !important; }
.now-card.wait { border-color: #D5DBE6 !important; background: #fff !important; }
.now-card.done { border-color: #BFE3CD !important; background: #F4FBF6 !important; }
.now-tag { justify-self: start; font-size: 11px; font-weight: 800; letter-spacing: .02em; color: var(--notice-ink); background: #F6EFD8; border-radius: 999px; padding: 3px 9px; }
.now-card.wait .now-tag { color: var(--ink-2); background: #EEF1F6; }
.now-card.done .now-tag { color: var(--green); background: #DDF1E4; }
.now-msg { font-size: 16.5px; font-weight: 700; line-height: 1.5; color: var(--ink); }
.now-msg b { font-weight: 800; }
.now-msg b.n { color: var(--ink); }
.now-time { display: flex; align-items: center; gap: 8px; }
.now-btn { display: grid; }
.now-btn .btn { width: 100%; }
.now-sub { font-size: 12.5px; color: var(--muted); line-height: 1.6; }
.now-amt { font-family: var(--serif); font-size: 30px; font-weight: 700; color: var(--navy); margin-right: 4px; }
.now-comp { margin-top: 4px; font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
.now-comp b.n { color: var(--ink); font-weight: 800; }
.call-btn { width: 100%; justify-content: center; }
/* 견적 비교: 카드를 눌러 고르고, 판매 버튼은 아래에 하나만 */
.card.bid.v2.sel { box-shadow: 0 0 0 2px var(--gold, #C9A227); background: #FFFDF5; }
.bid-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bid-bottom .bid-metrics { flex: 1; min-width: 0; }
.bid-check { flex: none; font-size: 11px; font-weight: 800; color: var(--notice-ink); background: #F6EFD8; border-radius: 999px; padding: 3px 9px; }
.sell-wrap { position: sticky; bottom: 76px; z-index: 5; padding: 8px 0; background: linear-gradient(180deg, rgba(243,245,249,0), var(--paper) 40%); }
.sell-wrap .btn { width: 100%; }
.feat-fold { background: #fff; border-radius: 14px; border: 1px solid var(--line); }
.feat-fold > summary { cursor: pointer; padding: 12px 14px; font-size: 13px; font-weight: 700; color: var(--ink-2); list-style: none; }
.feat-fold > summary::-webkit-details-marker { display: none; }
.feat-fold[open] > summary { border-bottom: 1px solid var(--line); }
.feat-fold .card { box-shadow: none; border: 0; }
/* 도움이 필요하세요? */
.help-box > summary { cursor: pointer; padding: 14px 16px; font-weight: 700; font-size: 14px; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.help-box > summary::-webkit-details-marker { display: none; }
.help-box > summary::after { content: "▾"; color: var(--muted); transition: transform .15s; }
.help-box[open] > summary::after { transform: rotate(180deg); }
.help-in { padding: 0 14px 14px; gap: 10px; }
.help-row { display: grid; gap: 2px; text-align: left; padding: 12px 14px; border-radius: 12px; background: #F6F7FA; width: 100%; }
.help-row b { font-size: 13.5px; color: var(--ink); }
.help-row span { font-size: 12px; color: var(--muted); }
.help-safe { color: var(--ink-2); line-height: 1.6; }
.inline-more > summary { display: inline; cursor: pointer; color: var(--blue); font-weight: 700; text-decoration: underline; }
.inline-more[open] { display: block; margin-top: 8px; }
.inline-more[open] > summary { display: block; margin-bottom: 6px; }
.acct-form .field { margin: 0; }
.acct-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.modal .acct-line .ic { flex: none; }
/* 후기 */
.star-input.big button { font-size: 34px; padding: 0 3px; }
.rv-more > summary { cursor: pointer; font-size: 13px; font-weight: 700; color: var(--blue); }
/* MY */
.menu-head { padding: 12px 16px 4px; font-size: 12px; font-weight: 800; color: var(--muted); letter-spacing: .02em; }
.menu-list .menu-head + a { border-top: 0; }
.my-sum a.metric { display: block; color: inherit; }
.my-sum .metric b small { font-size: 11px; font-weight: 700; margin-left: 1px; }
.my-todo { border: 1.5px solid #D9B84C !important; background: #FFFDF5 !important; }
.my-todo-row { display: flex; align-items: center; gap: 10px; color: inherit; }
.my-todo-row .grow { display: grid; gap: 2px; min-width: 0; }
.my-todo-row .pc-my-ic { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #F6EFD8; color: var(--notice-ink); flex: none; }
.soon-card { background: var(--paper) !important; border: 1px dashed #D5D2C8 !important; box-shadow: none !important; }
.rename-more > summary { cursor: pointer; font-size: 12.5px; color: var(--blue); font-weight: 700; }
.my-foot .small { padding: 4px 2px; }
@media (min-width: 1024px) {
  .sell-wrap { bottom: 16px; }
  .pc-my-stats a { display: block; color: inherit; }
  .pc-my-card.soon-card h3 { margin-bottom: 4px; }
}
.box-sum { flex-wrap: wrap; }
.box-line { flex: 1 1 auto; }

/* ===== 회원사 화면 개선 (2026-10-27) =====
   지금 할 일 띠 · 견적 잠금(A3) · 라스트 콜 띠 · 매입 진행 카드 · 거래 처리 '지금 할 일'·해결 카드 · 알림함 · 탭 점 */
.dtabs { grid-template-columns: repeat(2, 1fr); }
.now-btn { gap: 8px; }
.todo-band { width: 100%; display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin: 0 0 10px; border-radius: 14px; background: #FFF8E6; border: 1.5px solid #E2C766; text-align: left; font-size: 12.5px; color: var(--notice-ink); }
.todo-band b { font-size: 14px; color: var(--ink); flex: none; }
.todo-band span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.todo-band i { font-style: normal; font-size: 18px; color: var(--gold-ink); flex: none; }
.lock-band { display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin: 0 0 10px; border-radius: 14px; background: var(--red-soft); border: 1.5px solid #E7A59A; color: var(--red-ink); }
.lock-band .grow { min-width: 0; display: grid; gap: 2px; }
.lock-band b { font-size: 14px; color: var(--red-ink); }
.lock-band span { font-size: 12px; line-height: 1.45; }
.lock-band i { font-style: normal; font-weight: 800; font-size: 12.5px; flex: none; }
.lock-band .ic { flex: none; color: var(--red-ink); }
.lc-band { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin: 0 0 10px; border-radius: 14px; background: #FFFDF5; border: 1.5px solid #D9B84C; }
.lc-band .lc-name { min-width: 0; display: grid; gap: 2px; font-size: 13px; color: var(--ink); }
.lc-band .lc-name b { color: var(--gold-ink); }
.lc-band .lc-name .tiny { color: var(--muted); }
.lc-band .timer { flex: none; }
.lc-band .btn { width: auto; flex: none; }
.btn-lock { width: auto; padding: 12px 18px; background: #E5E8EE !important; color: var(--muted) !important; box-shadow: none !important; border: 1px solid #D5DBE6; display: inline-flex; align-items: center; gap: 6px; justify-content: center; flex: 1; }
.tabbar a .tab-lock { display: inline-flex; vertical-align: -1px; margin-left: 2px; color: var(--red-ink); }
.tabbar a .tab-dot { position: absolute; top: 6px; left: calc(50% + 10px); width: 7px; height: 7px; border-radius: 50%; background: #E5484D; }
.menu-list .n-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #E5484D; }
.fee-line { font-size: 12.5px; font-weight: 700; color: var(--notice-ink); background: #FFF8E6; border-radius: 10px; padding: 8px 10px; line-height: 1.5; }
.icon-hint { display: block; width: 100%; text-align: left; font-size: 12px; color: var(--muted); padding: 2px 2px 8px; }
.quick-tags .chip .ic { vertical-align: -2px; }
/* 매입 진행 목록 */
.deal-grp { display: flex; align-items: baseline; gap: 8px; margin: 14px 2px 8px; }
.deal-grp b { font-size: 14.5px; color: var(--ink); }
.deal-grp span { font-size: 12px; color: var(--muted); }
.deal-grp.act b { color: var(--gold-ink); }
.deal-card { position: relative; display: flex; align-items: center; border-radius: 14px; }
.deal-card .item-row { flex: 1; min-width: 0; border: 0; padding-right: 58px; }
.deal-card + .deal-card { border-top: 1px solid var(--line); }
.deal-card.attn { box-shadow: inset 3px 0 0 #D9B84C; background: #FFFDF5; }
.deal-card.is-red { box-shadow: inset 3px 0 0 #D2433F; background: #FFF7F5; }
.deal-line { font-size: 12.5px; color: var(--ink-2); line-height: 1.45; margin-top: 3px; }
.deal-line.act { color: var(--notice-ink); font-weight: 700; display: flex; align-items: flex-start; gap: 6px; }
.deal-card.is-red .deal-line.act { color: var(--red-ink); }
.deal-line.act i { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: #E5484D; flex: none; }
.deal-tel { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #F6EFD8; color: var(--notice-ink); }
.new-tag-in { margin-left: 6px; font-size: 10.5px; font-weight: 800; color: var(--red-ink); }
.done-fold { margin-top: 14px; }
.done-fold > summary { cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--ink-2); padding: 6px 2px 10px; }
/* 거래 처리 */
.deal-head { display: flex; gap: 12px; align-items: flex-start; }
.deal-head .mo-dthumb .thumb { width: 64px; height: 64px; border-radius: 12px; }
.deal-price { margin-top: 8px; font-size: 14px; color: var(--ink); }
.deal-price b { font-weight: 800; }
.deal-bar { padding: 4px 2px 0; }
.seller-card .btn-sm { width: auto; }
.issue-card { border: 1.5px solid #D2433F !important; background: #FFF7F5 !important; display: grid; gap: 10px; }
.issue-tag { justify-self: start; display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 800; color: var(--red-ink); background: #FBE0DB; border-radius: 999px; padding: 3px 9px; }
.issue-steps { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 13px; line-height: 1.55; color: var(--ink); }
.acct-copy { display: flex; align-items: center; gap: 8px; margin-top: 4px; flex-wrap: wrap; }
.help-row.off { background: #F6F7FA; opacity: .85; }
.kv .link, .kv .small.link { margin-left: 4px; }
/* 알림함 · 지금 할 일 목록 */
.notif-h { display: flex; align-items: baseline; gap: 8px; margin: 0 2px 6px; }
.notif-h b { font-size: 14.5px; }
.todo-row .todo-go { font-size: 12px; font-weight: 800; color: var(--notice-ink); white-space: nowrap; }
.todo-row.urgent { background: #FFF7F5; }
.todo-k { display: inline-block; flex: none; font-size: 10.5px; font-weight: 800; border-radius: 999px; padding: 2px 8px; background: #EEF1F6; color: var(--ink-2); margin-bottom: 3px; }
.todo-k.issue { background: #FBE0DB; color: var(--red-ink); }
.todo-k.lc { background: #F6EFD8; color: var(--notice-ink); }
.todo-k.call, .todo-k.send { background: #E4EDFB; color: var(--blue); }
.todo-k.fee { background: var(--amber-soft); color: var(--amber-ink); }
.todo-line { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.todo-line:last-child { border-bottom: 0; }
.todo-line .btn { width: auto; flex: none; }
/* 정산 */
.due-chip { font-size: 12px; font-weight: 800; color: var(--notice-ink); background: #F6EFD8; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.due-chip.late { color: var(--red-ink); background: #FBE0DB; }
.acct-line2 { line-height: 1.7; margin-top: 6px; }
/* 휴대폰: 거래 처리의 큰 사진은 작은 썸네일로 (PC는 그대로 왼쪽 큰 사진) */
@media (max-width: 1023px) { .pg-d-deal .gal-box { display: none; } }
/* 매입 처리: 사진·고객·계좌 왼쪽 열 묶음. 휴대폰에서는 감싸지 않은 것처럼 (PC 배치는 맨 아래 블록) */
.dd-left, .st-top, .st-main, .pf-l, .pf-r, .ed-a, .ed-mgr, .ed-b, .da-main { display: contents; }
@media (min-width: 1024px) {
  .mo-dthumb { display: none; }
  .todo-band { max-width: 640px; }
  .lock-band, .lc-band { max-width: 640px; }
  .dsb-soon { font-size: 12.5px; color: var(--muted); padding: 4px 14px 10px; }
  .pg-d-deal > .section { padding-top: 0; }
}

/* ================================================================
   회원사 PC 화면 배치 정리 (2026-10-27, 기획안 20261027_회원사PC화면_배치개선안) — 1024px 이상에서만 적용.
   휴대폰(1024px 미만)은 바꾸지 않아요. 본문 폭 1100px(왼쪽 296px ~ 오른쪽 1396px @1440), 상세 2단 틀, 행동 카드.
   ================================================================ */
@media (min-width: 1024px) {
  .phone.dl { --dcL: max(40px, calc((100% - 1180px) / 2 + 40px)); --dcp: 40px; }

  /* 떠 있는 하단 바는 PC에서 쓰지 않아요. 주요 행동은 오른쪽 정보 열의 행동 카드 안에 있어요 */
  .phone.dl .bidbar, .phone.dl .cta-fixed { display: none !important; }
  .bb-spacer { display: none; }

  /* 큰 버튼은 모서리 둥근 사각(14px)으로 통일. 탭·칩·작은 버튼은 그대로 */
  .phone.dl .btn:not(.btn-sm):not(.btn-xs) { border-radius: 14px; }

  /* 띠 배너는 본문 폭 100% */
  .phone.dl .todo-band, .phone.dl .lock-band, .phone.dl .lc-band { max-width: none; }

  /* 제목 줄: 위 32px, 제목과 첫 내용 사이 24px */
  .phone.dl:is(.pg-d-deals, .pg-d-item, .pg-d-deal) > .topbar { padding: 32px var(--dcp) 24px; min-height: 44px; }
  .phone.dl:is(.pg-d-deals, .pg-d-item, .pg-d-deal) > .topbar > .icon-btn:first-child { margin-left: 0; }
  .phone.dl:is(.pg-d-deals) > .section { padding: 0 var(--dcp) 0 !important; }

  /* 행동 카드 (오른쪽 정보 열 안, 위에 붙어 따라와요) */
  .dc-action { display: flex !important; align-items: center; gap: 12px; position: sticky; top: 24px; z-index: 5; background: #fff; border: 1px solid var(--pc-line); border-radius: 14px; padding: 16px 20px; box-sizing: border-box; }
  .dc-action .bid-t-open { display: none; }
  .dc-action .grow { flex: 1 1 auto; text-align: left !important; }
  .dc-action .grow:empty { display: none; }
  .dc-action .amount { font-size: 24px !important; letter-spacing: -.02em; }
  .dc-action .btn { height: 56px; border-radius: 14px; font-size: 17px; font-weight: 700; padding: 0 28px !important; width: auto !important; flex: 0 0 auto; min-width: 160px; transition: background .15s, border-color .15s, box-shadow .15s; }
  .dc-action .btn.btn-line { min-width: 96px; padding: 0 22px !important; }
  .dc-action .btn.bid-solo, .dc-action .btn.btn-lock { flex: 1 1 auto; }
  .dc-action .btn-navy:hover { background: #0C2A5C; }
  .dc-action .btn-line:hover { border-color: #B8912A; }
  .dc-action .btn:focus-visible { outline: 2px solid #C9A227; outline-offset: 2px; }
  .dc-action .timer { font-size: 15px; }

  /* 매물 상세 · 매입 처리: 왼쪽 480px 사진 + 간격 40px + 오른쪽 1fr (float·margin 방식은 쓰지 않아요) */
  .phone.dl:is(.pg-d-item, .pg-d-deal) { display: grid; grid-template-columns: var(--dcL) 480px 40px minmax(0, 1fr) var(--dcL); grid-template-rows: auto auto; align-items: start; align-content: start; padding-bottom: 48px; }
  .phone.dl:is(.pg-d-item, .pg-d-deal)::after { content: none; display: none; }
  .phone.dl:is(.pg-d-item, .pg-d-deal) > * { margin: 0 !important; max-width: none !important; }
  .phone.dl:is(.pg-d-item, .pg-d-deal) > .topbar { grid-column: 2 / 5; grid-row: 1; padding-left: 0; padding-right: 0; }
  .phone.dl:is(.pg-d-item, .pg-d-deal) > .gal-box, .phone.dl.pg-d-deal > .dd-left { grid-column: 2; grid-row: 2; position: sticky; top: 24px; width: 480px; }
  .phone.dl:is(.pg-d-item, .pg-d-deal) > .section { grid-column: 4; grid-row: 2; padding: 0 !important; gap: 16px; }
  .phone.dl:is(.pg-d-item, .pg-d-deal) > .section > :is(.card, .notice, .lock-band, div) { margin: 0; }
  .pg-d-item > .section > div:first-child b { font-size: 22px !important; letter-spacing: -.03em; }
  .dd-left { display: grid; gap: 16px; }
  .dd-side { display: grid !important; gap: 16px; }
  .dd-mo { display: none; }
  .pg-d-deal > .section > .btn:not(.btn-sm) { width: 100% !important; max-width: none; min-width: 0; height: 56px; font-size: 17px; font-weight: 700; justify-self: stretch; }
  .pg-d-deal .now-btn .btn { height: 56px; border-radius: 14px; font-size: 17px; font-weight: 700; }

  /* 매입 진행: 한 줄씩 넓은 행 목록 (1단) */
  .pg-d-deals .todo-band { display: none; }
  .pg-d-deals .deal-grp { margin: 32px 2px 12px; }
  .pg-d-deals .section > .deal-grp:first-of-type { margin-top: 0; }
  .pg-d-deals .deal-grp b { font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
  .pg-d-deals .deal-grp span { font-size: 13px; color: var(--muted); }
  .pg-d-deals .deal-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pg-d-deals .deal-card { min-height: 128px; }
  .pg-d-deals .deal-card .item-row { padding: 16px 24px; gap: 20px; align-items: center; }
  .pg-d-deals .deal-card .item-name { font-size: 16px; font-weight: 700; }
  .pg-d-deals .thumb-wrap .thumb { width: 96px; height: 96px; }
  .pg-d-deals .deal-card:hover { border-color: #C9A227 !important; }
  .pg-d-deals .deal-card.attn { border-width: 2px !important; }
  .pg-d-deals .deal-card .deal-pc-price { display: block; flex: none; width: 140px; text-align: right; font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--pc-ink); }
  .pg-d-deals .deal-card .deal-pc-price small { font-size: 13px; font-weight: 600; margin-left: 2px; color: var(--pc-sub); }
  .pg-d-deals .deal-card .deal-tel { position: static; transform: none; flex: none; width: 44px; height: 44px; margin-right: 24px; }
  .pg-d-deals .done-fold .deal-card { opacity: .75; }
}
@media (min-width: 1024px) {
  /* ---- P2·P3 화면 공통: 제목 줄, 본문 시작선(왼쪽 296px)과 끝선(오른쪽 1396px)을 같게 ---- */
  .phone.dl:is(.pg-d-settle, .pg-d-profile, .pg-d-edit, .pg-d-account, .pg-d-notifs, .pg-d-notices, .pg-d-cs, .pg-d-more) > .topbar { padding: 32px var(--dcp) 24px; min-height: 44px; }
  .phone.dl:is(.pg-d-settle, .pg-d-profile, .pg-d-edit, .pg-d-account, .pg-d-notifs, .pg-d-notices, .pg-d-cs, .pg-d-more) > .topbar > .icon-btn:first-child { margin-left: 0; }
  .phone.dl:is(.pg-d-settle, .pg-d-profile, .pg-d-edit, .pg-d-account, .pg-d-notifs, .pg-d-notices, .pg-d-cs, .pg-d-more) > .section { padding: 0 var(--dcp) !important; }
  .phone.dl:is(.pg-d-edit, .pg-d-account, .pg-d-cs) > .form { max-width: 1180px !important; box-sizing: border-box; padding: 0 var(--dcp) !important; margin-top: 0; background: none; box-shadow: none; border-radius: 0; }
  /* 제목 오른쪽 행동(편집, 소식 모두 읽음): 선 알약, 남색 글자 */
  .phone.dl > .topbar > a.small, .phone.dl > .topbar > button.small { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 1px solid #D8D4C8; border-radius: 999px; background: #fff; font-size: 14px; font-weight: 700; color: var(--navy) !important; }
  .phone.dl > .topbar > a.small:hover, .phone.dl > .topbar > button.small:hover { border-color: #B8912A; }
  /* 폼 안의 저장·보내기 버튼: 오른쪽 아래, 모서리 12px */
  .phone.dl .da-main > .btn:not(.btn-sm), .phone.dl.pg-d-cs > .form > .btn:not(.btn-sm), .phone.dl.pg-d-edit > .form > .btn:not(.btn-sm) { width: auto !important; min-width: 160px; height: 48px; padding: 0 28px !important; border-radius: 12px; justify-self: end; margin: 0 !important; }

  /* 정산: 위 요약(전폭) + 왼쪽 거래 내역 + 오른쪽 납부 카드(따라와요) */
  .pg-d-settle > .section { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: auto 1fr; column-gap: 24px; row-gap: 16px; align-items: start; }
  .st-top { display: grid; gap: 16px; grid-column: 1 / -1; grid-row: 1; }
  .st-main { display: grid; gap: 16px; grid-column: 1; grid-row: 2; min-width: 0; }
  .st-side { display: grid !important; gap: 16px; grid-column: 2; grid-row: 2; position: sticky; top: 24px; }
  .st-mo { display: none; }
  .st-main > .sec-head { margin: 0 !important; }
  .st-main > .sec-head ~ .sec-head { margin-top: 16px !important; }
  .st-main > .chips { margin: 0; }
  .st-side .amount { font-size: 28px !important; }
  .st-side .notice { font-size: 12.5px; line-height: 1.6; }

  /* 회원사 프로필: 카드 한 장 안에서 2단 */
  .pg-d-profile > .section > .card.pad.stack:first-child { display: grid; grid-template-columns: minmax(300px, 420px) minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 32px; row-gap: 12px; align-items: start; padding: 24px; }
  .pf-l { display: grid; gap: 10px; grid-column: 1; grid-row: 1; align-content: start; }
  .pf-r { display: grid; gap: 10px; grid-column: 2; grid-row: 1 / span 2; align-content: start; }
  .pg-d-profile .pf-r .metrics { margin-top: 0; gap: 8px; }
  .pg-d-profile .pf-r .metric { min-height: 56px; display: grid; align-content: center; }
  .pg-d-profile .pf-r .metric b { font-size: 15px; }
  .pg-d-profile .section > .card.pad > .btn { grid-column: 1; grid-row: 2; width: 100%; height: 44px; align-self: start; }
  .pg-d-profile .section > .sec-head { margin-top: 16px; }
  .pg-d-profile .section > button.small:last-child { display: none; }

  /* 프로필 편집: 폼 카드 안 2열 + 저장 버튼 줄 */
  .phone.dl.pg-d-edit > .form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr auto; column-gap: 32px; row-gap: 18px; align-items: start; background: #fff; border: 1px solid var(--pc-line); border-radius: 14px; max-width: none !important; padding: 28px 32px 0 !important; margin: 0 auto !important; width: min(1100px, calc(100% - 2 * var(--dcp))); }
  .ed-a, .ed-b { display: grid; gap: 18px; grid-column: 1; min-width: 0; }
  .ed-a { grid-row: 1; } .ed-b { grid-row: 2; }
  .ed-mgr { display: grid; gap: 12px; grid-column: 2; grid-row: 1 / span 2; align-content: start; min-width: 0; }
  .ed-mgr > .btn { width: 100%; height: 44px; }
  .phone.dl.pg-d-edit > .form > .btn:not(.btn-sm) { grid-column: 1 / -1; grid-row: 3; position: sticky; bottom: 16px; z-index: 5; margin: 8px 0 24px !important; box-shadow: 0 10px 24px -10px rgba(7,30,69,.55); }

  /* 계정·사업자 정보: 왼쪽 입력 폼 + 오른쪽 사업자 정보·비밀번호 카드 */
  .pg-d-account > .form { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: auto 1fr; column-gap: 24px; row-gap: 16px; align-items: start; }
  .pg-d-account > .form > .card.pad.stack:first-child { grid-column: 2; grid-row: 1; }
  .pg-d-account > .form > .card.pad.stack:last-child { grid-column: 2; grid-row: 2; }
  .da-main { display: grid; gap: 18px; grid-column: 1; grid-row: 1 / span 2; background: #fff; border: 1px solid var(--pc-line); border-radius: 14px; padding: 24px; min-width: 0; }
  .da-main .grid2 { align-items: end; }
  .pg-d-account .form > .card .btn-sm { justify-self: end; }
  .phone.dl.pg-d-account .form > .card > .btn:not(.btn-sm) { width: auto !important; min-width: 0; height: 44px; padding: 0 22px !important; justify-self: end; margin: 0 !important; border-radius: 12px; }
  .pg-d-account .form > .card .tiny { font-size: 12.5px; }

  /* 문의하기: 왼쪽 입력, 오른쪽 안내 카드 */
  .pg-d-cs > .form { display: grid; grid-template-columns: minmax(0, 1fr) 340px; column-gap: 24px; row-gap: 16px; align-items: start; grid-auto-flow: row dense; }
  .pg-d-cs > .form > .field, .phone.dl.pg-d-cs > .form > .btn:not(.btn-sm) { grid-column: 1; }
  .pg-d-cs > .form > .tiny { grid-column: 2; grid-row: 1 / span 3; background: #fff; border: 1px solid var(--pc-line); border-radius: 14px; padding: 20px; font-size: 13.5px; line-height: 1.7; color: var(--ink-2); }
  .pg-d-cs > .form > .flabel, .pg-d-cs > .form > .card { grid-column: 1 / -1; }
  .pg-d-cs #dcs-text { min-height: 220px !important; }

  /* 알림함: 지금 할 일 | 소식 두 열 */
  .pg-d-notifs > .section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
  .pg-d-notifs .thread-row { min-height: 64px; }

  /* 공지·정책: 제목 왼쪽 정렬, 날짜는 행 오른쪽, 펼친 본문은 읽기 좋은 폭 */
  .pg-d-notices details.faq { border-radius: 14px; padding: 0 24px; }
  .pg-d-notices details.faq + details.faq { margin-top: 8px; }
  .pg-d-notices details.faq summary { justify-content: flex-start; align-items: center; gap: 12px; min-height: 56px; padding: 0; text-align: left; }
  .pg-d-notices details.faq summary .nt-date { display: inline; margin-left: auto; font-size: 13px; font-weight: 400; color: var(--muted); }
  .pg-d-notices details.faq p { max-width: 760px; margin: 0 0 20px; line-height: 1.7; }
  .pg-d-notices details.faq p .nt-date-in { display: none; }

  /* 전체 메뉴: 3열 타일 */
  .pg-d-more > .section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 16px; align-items: start; }
  .pg-d-more > .section > * { grid-column: 1 / -1; }
  .pg-d-more > .section > .soon-card, .pg-d-more > .section > .demo { grid-column: auto; }
  .pg-d-more > .section > button.small { display: none; }
  .pg-d-more .menu-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; background: none; border: 0; box-shadow: none; }
  .pg-d-more .menu-list > a, .pg-d-more .menu-list > button { height: 72px; padding: 0 20px; background: #fff; border: 1px solid var(--pc-line) !important; border-radius: 14px; }
  .pg-d-more .menu-list > a:hover { border-color: #C9A227 !important; }

  /* 입찰 목록: 띠·검색을 본문 폭 100%로 */
  .phone.dl > .dl-title { padding: 32px var(--dcp) 0; }
  .pg-d-list > .dtabs { padding: 20px var(--dcp) 0; }
  .pg-d-list > .section { padding: 16px var(--dcp) 0 !important; }
  .pg-d-list .section > .row, .pg-d-list .section > .row:first-child { max-width: none; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .phone.dl { --dcL: 28px; --dcp: 28px; }
  .phone.dl:is(.pg-d-item, .pg-d-deal) { grid-template-columns: var(--dcL) minmax(320px, 40%) 32px minmax(0, 1fr) var(--dcL); }
  .phone.dl:is(.pg-d-item, .pg-d-deal) > .gal-box, .phone.dl.pg-d-deal > .dd-left { width: auto; }
}
/* 1200px 미만에서는 오른쪽 열이 아래로 내려가 1단 */
@media (min-width: 1024px) and (max-width: 1199px) {
  .pg-d-settle > .section, .pg-d-account > .form, .pg-d-cs > .form { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .st-main, .st-side, .pg-d-account > .form > *, .pg-d-cs > .form > * { grid-column: 1 !important; grid-row: auto !important; }
  .st-side { position: static; order: -1; }
  .pg-d-account > .form > .card.pad.stack:first-child { order: 2; }
  .pg-d-account > .form > .card.pad.stack:last-child { order: 3; }
}

/* PC 홈 우수 회원사 카드 v3 — 매장 사진 + 로고, 글은 줄이고 브랜드는 영문 (10-27) */
@media (min-width: 1024px) {
  .pc-dl-card.v3 { flex: 0 0 calc((100% - 72px) / 4); border-radius: 16px; }
  .v3-cover { position: relative; height: 200px; flex: 0 0 200px; overflow: visible; background: radial-gradient(circle at 30% 20%, #1B2F5A, #071E45); }
  .v3-cover > img { width: 100%; height: 200px !important; object-fit: cover; display: block; border-radius: 16px 16px 0 0; }
  .v3-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,30,69,0) 55%, rgba(7,30,69,.35)); pointer-events: none; }
  .v3-mono { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--serif, Georgia, serif); font-size: 56px; color: #C9A227; }
  .v3-badge { position: absolute; left: 12px; top: 12px; z-index: 1; font-size: 11.5px; font-weight: 700; color: var(--navy); background: rgba(255,255,255,.92); padding: 4px 10px; border-radius: 999px; }
  .v3-logo { position: absolute; left: 16px; bottom: -26px; z-index: 1; border-radius: 14px; padding: 3px; background: #fff; box-shadow: 0 6px 16px rgba(7,30,69,.18); }
  .v3-logo .avatar { border-radius: 11px; }
  .v3-body { padding: 36px 18px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
  .v3-body h3 { margin: 0; font-size: 18px; letter-spacing: -.03em; color: var(--ink); }
  .v3-sub { font-size: 12.5px; color: var(--muted); }
  .v3-brands { margin-top: 8px; font-family: var(--serif, Georgia, serif); font-size: 12.5px; font-weight: 600; letter-spacing: .12em; color: var(--gold-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .v3-brands i { font-style: normal; margin: 0 7px; color: var(--gold-hi); letter-spacing: 0; }
  .v3-stats { margin-top: auto; padding-top: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; text-align: center; border-top: 1px solid #EFEDE7; }
  .v3-stats > span { display: flex; flex-direction: column; font-size: 11.5px; color: var(--muted); white-space: nowrap; }
  .v3-stats b { color: var(--navy); font-size: 15px; }
  .v3-stats.new { grid-template-columns: 1fr; }
  .v3-body { min-height: 190px; }
}
@media (min-width: 1024px) { .v3-brands em { font-style: normal; margin-left: 8px; font-family: var(--sans); font-size: 11px; letter-spacing: 0; color: var(--gold-hi); } }
/* 우수 회원사 카드: 회원사 색으로 물든 표지 + 간판 글씨, 브랜드는 한글 (10-27) */
@media (min-width: 1024px) {
  .v3-cover { --bc: #071E45; --fc: #E9D9A6; }
  .v3-cover > img { filter: saturate(.85); }
  .v3-cover::after { background: linear-gradient(180deg, color-mix(in srgb, var(--bc) 35%, transparent), color-mix(in srgb, var(--bc) 82%, transparent)); border-radius: 16px 16px 0 0; }
  .v3-sign { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; padding-bottom: 18px; font-family: var(--serif, Georgia, serif); font-size: 24px; font-weight: 600; letter-spacing: .24em; margin-right: -.24em; color: var(--fc); text-shadow: 0 2px 12px rgba(0,0,0,.25); }
  .v3-brands { font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: -.01em; color: var(--notice-ink); }
  .v3-brands i { margin: 0 6px; }
}
/* 휴대폰 홈 우수 회원사 카드 — PC v3와 같은 구성 (10-27) */
.mo-dl-card.v3 { flex: 0 0 248px; scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid #ECE8DE; color: inherit; text-decoration: none; }
.mo-dl-card .v3-cover { --bc: #071E45; --fc: #E9D9A6; position: relative; height: 140px; flex: 0 0 140px; background: radial-gradient(circle at 30% 20%, #1B2F5A, #071E45); }
.mo-dl-card .v3-cover > img { width: 100%; height: 140px; object-fit: cover; display: block; filter: saturate(.85); }
.mo-dl-card .v3-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--bc) 35%, transparent), color-mix(in srgb, var(--bc) 82%, transparent)); pointer-events: none; }
.mo-dl-card .v3-sign { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; padding-bottom: 14px; font-family: var(--serif, Georgia, serif); font-size: 19px; font-weight: 600; letter-spacing: .22em; margin-right: -.22em; color: var(--fc); text-shadow: 0 2px 10px rgba(0,0,0,.25); }
.mo-dl-card .v3-mono { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--serif, Georgia, serif); font-size: 44px; color: #C9A227; }
.mo-dl-card .v3-badge { position: absolute; left: 10px; top: 10px; z-index: 2; font-size: 11px; font-weight: 700; color: var(--navy); background: rgba(255,255,255,.92); padding: 3px 9px; border-radius: 999px; }
.mo-dl-card .v3-logo { position: absolute; left: 14px; bottom: -22px; z-index: 2; border-radius: 12px; padding: 3px; background: #fff; box-shadow: 0 5px 14px rgba(7,30,69,.18); line-height: 0; }
.mo-dl-card .v3-logo .avatar { width: 44px !important; height: 44px !important; border-radius: 9px; }
.mo-dl-card .v3-body { padding: 30px 14px 14px; display: flex; flex-direction: column; gap: 3px; flex: 1; }
.mo-dl-card .v3-body h3 { margin: 0; font-size: 16px; letter-spacing: -.03em; color: var(--ink); }
.mo-dl-card .v3-sub { font-size: 12px; color: var(--muted); }
.mo-dl-card .v3-brands { margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--notice-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mo-dl-card .v3-brands i { font-style: normal; margin: 0 5px; color: var(--gold-hi); }
.mo-dl-card .v3-brands em { font-style: normal; margin-left: 6px; font-size: 11px; color: var(--gold-hi); }
.mo-dl-card .v3-stats { margin-top: 12px; padding-top: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; text-align: center; border-top: 1px solid #EFEDE7; }
.mo-dl-card .v3-stats > span { display: flex; flex-direction: column; font-size: 11px; color: var(--muted); white-space: nowrap; }
.mo-dl-card .v3-stats b { color: var(--navy); font-size: 14px; }
.mo-dl-card .v3-stats.new { grid-template-columns: 1fr; }

/* 위탁 판매 준비 중 (CONSIGN_SOON): 보이되 누를 수 없음 */
button.chip.soon { font-family: inherit; color: inherit; }
.soon-txt { color: var(--muted); }
.bid-type.is-soon { opacity: .55; cursor: not-allowed; }
.bid-type.is-soon .input { background: #F1F2F4; cursor: not-allowed; }
.soon-badge { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; background: #E5E7EB; color: var(--muted); font-size: 10.5px; font-weight: 600; vertical-align: 1px; }
/* PC 회원사 가입 신청: 로그인과 같은 좌우 배치 (왼쪽 안내·단계, 오른쪽 입력) (10-27) */
@media (min-width: 1024px) {
  .phone.dl-auth > .dl-join ~ .stepper { margin-top: 64px; }
  .phone.dl-auth:has(.dl-join) > :not(.dl-brand):not(.topbar):not(.site-footer) { max-width: 560px; }
  .phone.dl-auth:has(.dl-join) > .form { background: #fff; border-radius: 24px; box-shadow: var(--shadow); padding: 32px 36px; margin-top: 20px; }
  .dl-join-steps { list-style: none; margin: 8px 0 40px; padding: 0; display: grid; gap: 12px; counter-reset: none; }
  .dl-join-steps li { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--muted); }
  .dl-join-steps li span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 700; border: 1px solid #4A505C; color: var(--muted); }
  .dl-join-steps li.on { color: #fff; font-weight: 700; }
  .dl-join-steps li.on span { background: #C9A227; border-color: #C9A227; color: var(--ink); }
  .dl-join-steps li.done { color: var(--on-navy-2); }
  .dl-join-steps li.done span { border-color: #C9A227; color: var(--gold-hi); }
  .dl-join-back { color: var(--on-navy-2); font-size: 14px; text-decoration: none; }
  .dl-join-back:hover { color: #fff; }
}
/* PC 파트너 로그인·가입 신청: 왼쪽 안내는 화면에 고정, 오른쪽만 스크롤 (10-27) */
@media (min-width: 1024px) {
  .phone.dl-auth > .dl-brand { position: sticky; top: 0; align-self: start; height: 100vh; min-height: 0; overflow: hidden; }
  .dl-brand-in { position: relative; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; }
  .dl-brand-cta { margin-top: auto; padding: 22px 24px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(233,197,90,.28); display: grid; gap: 8px; max-width: 420px; }
  .dl-brand-cta b { color: #fff; font-size: 16px; }
  .dl-brand-cta span { color: var(--on-navy-2); font-size: 13.5px; line-height: 1.6; }
  .dl-brand-cta .btn { margin-top: 6px; }
  .phone.dl-auth .mo-only-cta { display: none; }
  .dl-join .dl-join-back { margin-top: auto; }
}
/* PC 가입 신청 폼: 큰 묶음 사이를 넓히고 구분선으로 나눠 아래로 갈수록 빽빽해 보이지 않게 (10-27) */
@media (min-width: 1024px) {
  .phone.dl-auth:has(.dl-join) > .form { gap: 24px; }
  .phone.dl-auth:has(.dl-join) > .form > .flabel:not(:first-child) { margin-top: 12px; padding-top: 28px; border-top: 1px solid #EFEDE7; }
  .phone.dl-auth:has(.dl-join) > .form > .field + .field { margin-top: 2px; }
}
/* PC 파트너 로그인·가입 신청: 두 화면의 카드 폭·위치를 똑같이 맞춰요 (10-27) */
@media (min-width: 1024px) {
  .phone.dl-auth > :not(.dl-brand):not(.topbar):not(.site-footer),
  .phone.dl-auth:has(.dl-join) > :not(.dl-brand):not(.topbar):not(.site-footer) { max-width: 520px; }
  .phone.dl-auth > .auth { margin-top: 64px; }
  .phone.dl-auth > .dl-join ~ .stepper { margin-top: 26px; margin-bottom: 0; }
  .phone.dl-auth:has(.dl-join) > .form { margin-top: 20px; }
  .phone.dl-auth > .auth, .phone.dl-auth:has(.dl-join) > .form { padding: 36px; border-radius: 24px; }
}
/* PC 파트너 로그인·가입 신청: 오른쪽 카드를 화면 세로 가운데에 (위아래 여백 같게) (10-27)
   전체 하단 정보는 왼쪽 패널 맨 아래 한 줄로 옮겨요 */
@media (min-width: 1024px) {
  .phone.dl-auth:has(.dl-brand) { grid-template-rows: minmax(48px, 1fr) auto auto minmax(48px, 1fr); min-height: 100vh; }
  .phone.dl-auth:has(.dl-brand) > .dl-brand { grid-row: 1 / -1; }
  .phone.dl-auth:has(.dl-brand) > .site-footer { display: none; }
  .phone.dl-auth:has(.dl-brand) > .auth { grid-row: 2 / span 2; margin-top: 0; }
  .phone.dl-auth:has(.dl-join) > .stepper { grid-row: 2; margin-top: 0; }
  .phone.dl-auth:has(.dl-join) > .form { grid-row: 3; }
  .dl-brand-legal { margin-top: 20px; font-size: 11.5px; color: var(--muted); line-height: 1.6; }
  .dl-brand-legal a { color: var(--muted); text-decoration: underline; }
  .dl-join .dl-join-back + .dl-brand-legal { margin-top: 16px; }
  .dl-brand-cta + .dl-brand-legal { margin-top: 20px; }
  /* 가입 1단계: 입력 칸을 2열로 */
  .phone.dl-auth > .form.j-step1 { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; row-gap: 18px; }
  .form.j-step1 > * { grid-column: 1 / -1; }
  .form.j-step1 > .field:has(#j-name), .form.j-step1 > .field:has(#j-owner), .form.j-step1 > .field:has(#j-bizNo), .form.j-step1 > .field:has(#j-phone) { grid-column: auto; }
  .form.j-step1 > .field { margin: 0; }
}
/* PC 파트너 로그인·가입 신청: 카드가 오른쪽 영역을 고르게 채우게 (양옆 여백 80px 이상, 최대 640px) (10-27) */
@media (min-width: 1024px) {
  .phone.dl-auth > :not(.dl-brand):not(.topbar):not(.site-footer),
  .phone.dl-auth:has(.dl-join) > :not(.dl-brand):not(.topbar):not(.site-footer) { width: calc(100% - 160px); max-width: 640px; }
}
/* PC 파트너 로그인 카드는 입력이 적어 좁게 (대표 결정 10-27). 가입 신청 카드는 넓게 유지 */
@media (min-width: 1024px) { .phone.dl-auth:has(.dl-brand) > .auth:not(.dl-brand):not(.topbar):not(.site-footer) { max-width: 440px; } }
/* PC 견적함: 남는 칸을 '새 견적 신청' 카드로 채움 / 마이페이지 바로가기 4칸 한 줄 (10-27) */
@media (min-width: 1024px) {
  .pc-badd { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 320px; border: 2px dashed #D9D2BE; border-radius: 16px; background: #FBF9F4; color: var(--navy); text-decoration: none; text-align: center; padding: 24px; transition: background .15s, border-color .15s; }
  .pc-badd:hover { background: #F5F0E3; border-color: #C9A227; }
  .pc-badd-plus { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: #071E45; color: #fff; font-size: 34px; font-weight: 300; line-height: 1; margin-bottom: 6px; }
  .pc-badd b { font-size: 17px; }
  .pc-badd span:last-child { font-size: 13px; color: var(--muted); }
  .pc-my-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) { .pc-my-tile .v { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } }

/* =====================================================================
   PC 화면 보완 (10-27 전수 점검 반영) — 휴대폰(1023px 이하)에는 영향 없는 규칙만
   ===================================================================== */
/* 휴대폰에서 모양이 바뀌지 않게 하는 기본값 */
.bm-l { font-style: normal; }
.dcs-card, .rs-rv, .rs-left, .rs-sim, .sf-cols, .sf-c, .sf-ph, .ed-L, .ed-R, .ed-c { display: contents; }
.card.bid.v2.bid-xtra { display: none; }
.ed-a > *, .pg-d-edit .ed-a > * { order: 1; }
.ed-mgr > * { order: 2; }
.ed-b > * { order: 3; }
.ed-c > * { order: 4; }
.phone.dl.pg-d-edit > .form > .btn { order: 5; }
.gnb-free { display: none; }

@media (min-width: 1024px) {
  /* 공통: 고객 화면 큰 버튼은 회원사 화면처럼 모서리 14px 사각 */
  .phone.cust .btn:not(.btn-sm):not(.chip), .phone.cust .btn-cta { border-radius: 14px; }
  .phone.cust .btn-cta .arr { border-radius: 10px; }

  /* 상단 머리글: 금색 "무료 견적 받기" (로그인 전·후 모두) */
  .gnb-big { margin-right: 28px; }
  .gnb-free { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 22px; border-radius: 14px; background: linear-gradient(180deg, #DDBA4C, #C29A22); color: var(--ink); font-size: 15px; font-weight: 800; letter-spacing: -.02em; text-decoration: none; box-shadow: 0 8px 20px -10px rgba(194,154,34,.8); white-space: nowrap; }
  .gnb-free:hover { filter: brightness(1.05); }

  /* ---- c_item 거래 상세: 제목 한 줄(전폭) · 두 열 윗선 맞춤 · 왼쪽 패널 sticky · 주요 버튼은 패널 맨 아래 ---- */
  .pg-item > header.topbar:not(.pc-iside):not(.site-footer) { margin-left: var(--myL) !important; margin-right: var(--myL) !important; margin-bottom: 16px; }
  .pg-item .itw > .section { padding-top: 24px !important; }
  .pg-item .itw > .mo-ihead + .section { padding-top: 0 !important; }
  .pg-item .itw > .pc-iside { position: sticky; top: 124px; align-self: flex-start; }
  .pg-item .pc-isteps li { padding: 4px 0; }
  .pg-item .pc-isteps li:not(:last-child)::after { top: 18px; height: calc(100% - 8px); }
  .pg-item .pc-iside-in { gap: 14px; }
  .pg-item .pc-iside .btn.pc-iact { height: 56px; border-radius: 14px; font-size: 16px; width: 100%; justify-content: center; text-align: center; line-height: 1.25; padding: 0 14px; }
  .pg-item .pc-iside .btn.pc-iact[disabled] { opacity: .6; box-shadow: none; }
  .pg-item .sell-wrap, .pg-item [data-act="bid-more"], .pg-item .feat-fold { display: none !important; }

  /* 견적 비교: 전부 펼친 표 */
  .pg-item { --bidcols: 26px 38px minmax(0, 1fr) 52px 76px 56px 62px 92px 88px; }
  .pg-item .pc-bidhead { display: grid; grid-template-columns: var(--bidcols); column-gap: 10px; padding: 0 17px; margin: 4px 0 -2px; font-size: 12px; font-weight: 600; color: var(--muted); }
  .pg-item .pc-bidhead > span { text-align: center; }
  .pg-item .pc-bidhead > .bh-n { grid-column: 2 / span 2; text-align: left; }
  .pg-item .pc-bidhead > .bh-1 { grid-column: 4; } .pg-item .pc-bidhead > .bh-2 { grid-column: 5; } .pg-item .pc-bidhead > .bh-3 { grid-column: 6; } .pg-item .pc-bidhead > .bh-4 { grid-column: 7; }
  .pg-item .pc-bidhead > .bh-a { grid-column: 8; text-align: right; }
  .pg-item .card.bid.v2, .pg-item .card.bid.v2.bid-xtra { display: grid; grid-template-columns: var(--bidcols); column-gap: 10px; align-items: center; padding: 14px 16px; }
  .pg-item .card.bid.v2 .bid-top, .pg-item .card.bid.v2 .bid-bottom, .pg-item .card.bid.v2 .bid-metrics { display: contents; }
  .pg-item .bid-top > :nth-child(1) { grid-column: 1; grid-row: 1; }
  .pg-item .bid-top > :nth-child(2) { grid-column: 2; grid-row: 1; }
  .pg-item .bid-top > :nth-child(3) { grid-column: 3; grid-row: 1; min-width: 0; flex-wrap: wrap; white-space: normal; row-gap: 3px; }
  .pg-item .bid-top > :nth-child(4) { grid-column: 8; grid-row: 1; justify-self: end; margin: 0; }
  .pg-item .bid-metrics > span { grid-row: 1; justify-self: center; font-size: 13px; color: var(--ink-2); white-space: nowrap; }
  .pg-item .bid-metrics > .bm-1 { grid-column: 4; } .pg-item .bid-metrics > .bm-2 { grid-column: 5; } .pg-item .bid-metrics > .bm-3 { grid-column: 6; } .pg-item .bid-metrics > .bm-4 { grid-column: 7; display: inline; }
  .pg-item .bm-l { display: none; }
  .pg-item .bid-bottom > .tlink { grid-column: 9; grid-row: 1; justify-self: end; white-space: nowrap; }
  .pg-item .bid-bottom > .bid-check { display: none; }

  /* ---- c_result 거래 결과: 왼쪽에 사진 + 거래 과정 + 버튼, 오른쪽은 짧게 ---- */
  .pg-result > .section.stack > .rs-left { display: flex; flex-direction: column; gap: 16px; grid-column: 1; grid-row: 1 / span 30; align-self: start; position: static; margin-bottom: 0; }
  .pg-result .rs-more { display: flex; flex-direction: column; gap: 16px; }
  .pg-result .rs-tl, .pg-result .rs-cta { display: none !important; }
  .pg-result .rs-rv { display: block; }
  .pg-result .rs-rv .sec-head { margin: 0 0 10px !important; }
  .pg-result .rs-more .btn-cta { width: 100% !important; max-width: none !important; height: 56px; margin: 0 !important; justify-content: space-between; }
  .pg-result .rs-more .tl { max-width: none; }
}

@media (min-width: 1024px) {
  .pg-result .rs-rvc .sec-head { margin: 0 !important; }

  /* ---- c_login 고객 로그인: 왼쪽 브랜드 패널 + 오른쪽 440px 카드 (파트너 로그인과 같은 구조) ---- */
  .phone.cust.pg-login { max-width: none !important; width: 100%; margin: 0; padding: 0; box-shadow: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(min(calc(100vh - 124px), 760px), auto) auto; align-items: stretch; background: var(--paper); }
  .phone.cust.pg-login > .topbar { display: none; }
  .phone.cust.pg-login > .cl-brand { display: block; grid-column: 1; grid-row: 1; max-width: none !important; width: auto; margin: 0 !important; justify-self: stretch; position: relative; overflow: hidden; background: #0E1116 url(photos/step-compete.jpg) center / cover; }
  .phone.cust.pg-login > .cl-brand::before { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(14,17,22,.92), rgba(14,17,22,.7)); }
  .phone.cust.pg-login > .cl-brand .dl-brand-in { position: relative; z-index: 1; height: 100%; box-sizing: border-box; padding: 56px 64px; display: flex; flex-direction: column; justify-content: center; }
  .phone.cust.pg-login > .cl-brand .dl-brand-in .logo { align-self: flex-start; }
  .phone.cust.pg-login > .cl-brand .dl-brand-in .logo .wm { color: var(--on-navy); font-size: 30px; }
  .phone.cust.pg-login > .cl-brand .dl-brand-in .logo .tagline { color: var(--on-navy); }
  .phone.cust.pg-login > .cl-brand h2 { margin: 48px 0 16px; }
  .phone.cust.pg-login > .cl-brand li span b { color: #fff; }
  .phone.cust.pg-login > .auth { grid-column: 2; grid-row: 1; align-self: center; justify-self: center; width: calc(100% - 160px); max-width: 440px !important; box-sizing: border-box; margin: 48px 0 !important; padding: 36px; }
  .phone.cust.pg-login > .site-footer { grid-column: 1 / -1; grid-row: 2; max-width: none !important; margin: 0 !important; }
}

@media (min-width: 1024px) {
  /* ---- c_sell 견적 신청: 두 줄기 grid로 아랫선 맞춤 · 구역 간격 24px 통일 · 사진 칸 5열 ---- */
  .pg-sell > .form { display: grid; columns: auto; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: stretch; padding: 24px 32px 8px; }
  .pg-sell > .form > * { margin: 0 !important; break-inside: auto; }
  .pg-sell > .form > div.sf-cols:not(.a):not(.b):not(.c):not(.d):not(.e) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; background: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
  .pg-sell .sf-c { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
  .pg-sell .sf-c > div:not(.card) { background: #fff; border-radius: 20px; box-shadow: var(--shadow); padding: 20px 22px; }
  .pg-sell .sf-c > :last-child { flex: 1; }
  .pg-sell > .form > .btn { justify-self: center; width: 420px; max-width: 100%; }
  .pg-sell .sf-ph { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-content: start; }
  .pg-sell .sf-ph > .grid2, .pg-sell .sf-ph > .extra-photos { display: contents; }
  .pg-sell .sf-ph .photo-slot, .pg-sell .sf-ph .xp { width: auto; height: auto; aspect-ratio: 1 / 1; margin: 0; }
  .pg-sell .sf-ph .xp.add { border-radius: 12px; border-width: 1.5px; font-size: 12px; }
}

@media (min-width: 1024px) {
  .pg-sell > .form > :nth-child(2) { grid-template-columns: minmax(0, 1fr) 360px; }
  .pg-sell .sf-c > .field { background: #fff; border-radius: 20px; box-shadow: var(--shadow); padding: 20px 22px; display: flex; flex-direction: column; }
  .pg-sell .sf-c > .field textarea { flex: 1; min-height: 110px; }
}

@media (min-width: 1024px) {
  /* ---- c_dealer 고객이 보는 회원사 정보: 표지 폭 = 본문선, 왼쪽(sticky) 요약 + 오른쪽 소개 두 열, 간격 48/16 ---- */
  .phone.cust.pg-dealer > div.cover:not(.topbar):not(.site-footer) { max-width: 1136px !important; margin: 16px auto 0 !important; border-radius: 20px; }
  .pg-dealer .pc-cover { border-radius: 20px; }
  .phone.cust.pg-dealer > .section { display: grid; grid-template-columns: 340px minmax(0, 1fr); column-gap: 32px; align-items: start; padding-top: 32px !important; }
  .pg-dealer > .section > .dp-left { display: flex; flex-direction: column; gap: 16px; grid-column: 1; grid-row: 1 / span 20; position: sticky; top: 124px; }
  .pg-dealer > .section > :not(.dp-left) { grid-column: 2; margin: 0 0 16px; }
  .pg-dealer .dp-o { display: none !important; }
  .pg-dealer .dp-badges { display: flex; gap: 4px; flex-wrap: wrap; }
  .pg-dealer .dp-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
  .pg-dealer .dp-mgr { margin: 0; padding: 16px; display: flex; gap: 12px; align-items: center; }
  .pg-dealer .dp-left .pay-explain { margin: 0; }
  .pg-dealer .dp-intro { background: #fff; border: 1px solid var(--pc-line); border-radius: 14px; padding: 20px 24px; }
  .pg-dealer .dp-intro p { margin: 0 !important; }
  .pg-dealer .dp-intro p + p { margin-top: 8px !important; }
  .pg-dealer .dp-info { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; margin-top: 0 !important; padding: 20px 24px; }
  .pg-dealer .dp-info > div b { display: block; font-size: 12px; color: var(--muted); margin-bottom: 2px; }
  .pg-dealer .dp-info > .tiny { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--pc-line); }
  .pg-dealer > .section > .sec-head { margin: 24px 0 16px !important; }
  .pg-dealer .card > .empty { padding: 22px 16px; }
}

@media (min-width: 1024px) {
  /* ---- d_edit 프로필 편집: 왼쪽(소개·브랜드·전달 방법) / 오른쪽(매니저·거래 방식·연락처) 높이 맞춤, 매니저 소개 칸 폭 확보 ---- */
  .phone.dl.pg-d-edit > .form { grid-template-rows: auto auto; }
  .ed-L, .ed-R { display: flex; flex-direction: column; gap: 18px; min-width: 0; align-self: start; }
  .ed-L { grid-column: 1; grid-row: 1; } .ed-R { grid-column: 2; grid-row: 1; }
  .ed-L > .ed-a, .ed-L > .ed-b, .ed-R > .ed-mgr, .ed-R > .ed-c { grid-column: auto; grid-row: auto; }
  .ed-c { display: grid; gap: 18px; min-width: 0; }
  .ed-a > *, .ed-mgr > *, .ed-b > *, .ed-c > * { order: 0; }
  .phone.dl.pg-d-edit > .form > .btn:not(.btn-sm) { grid-row: 2; }
  .ed-mgr .card > .grid2:last-child { grid-template-columns: minmax(0, 1fr); }
  .ed-mgr .card > .grid2:last-child input[type="number"] { max-width: 140px; }
}

@media (min-width: 1024px) {
  /* ---- d_account: 왼쪽 입력 카드를 오른쪽 열 높이까지 늘리고 저장 버튼은 카드 오른쪽 아래 고정 ---- */
  .pg-d-account .da-main { align-self: start; display: flex; flex-direction: column; }
  .pg-d-account .da-main > .btn { margin-top: auto !important; align-self: flex-end; }
}

@media (min-width: 1024px) {
  /* ---- d_deal 매입 처리: 송금액·계좌를 '지금 할 일' 카드 안으로 합치고, 같은 배송 정보 두 번 보이는 것 정리 ---- */
  .phone.dl .now-card .now-acct { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 28px; align-items: center; margin: 14px 0 6px; padding: 16px 20px; background: #fff; border: 1px solid #E8DDB4; border-radius: 12px; }
  .now-acct .na-amt { display: flex; flex-direction: column; gap: 2px; padding-right: 28px; border-right: 1px solid #EFE7C8; }
  .now-acct .na-amt span { font-size: 12px; color: var(--muted); }
  .now-acct .na-amt b { font-size: 30px; line-height: 1.1; color: var(--navy); font-family: var(--serif, Georgia, serif); }
  .now-acct .na-amt b small { font-size: 14px; margin-left: 3px; font-family: var(--sans); color: var(--muted); }
  .now-acct dl { margin: 0; display: grid; grid-template-columns: auto auto minmax(0, 1.4fr); gap: 4px 28px; }
  .now-acct dt { font-size: 12px; color: var(--muted); }
  .now-acct dd { margin: 2px 0 0; font-size: 14.5px; font-weight: 700; color: var(--ink); word-break: keep-all; }
  .now-acct .tiny { grid-column: 1 / -1; }
  .phone.dl .card.dd-dup { display: none; }
}

@media (min-width: 1024px) {
  /* ---- c_box 견적함: 요약 카드 4개가 본문 폭을 꽉 채움, 신청 입구 점선 카드(남는 칸이 없으면 전폭 낮은 띠) ---- */
  .pc-bsum { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pc-bgrid .pc-badd.wide { flex-direction: row; min-height: 120px; gap: 16px; text-align: left; }
  .pc-bgrid .pc-badd.wide .pc-badd-plus { margin-bottom: 0; flex: none; }
  .pc-bgrid .pc-badd.wide b { font-size: 18px; }
  .pc-bgrid .pc-badd.wide span:last-child { margin-left: 4px; }
}

@media (min-width: 1024px) {
  /* R8: 마이페이지 왼쪽 패널 폭 280px로 통일, 안쪽 화면과 윗선 맞춤, 홈 패널은 스크롤을 따라와요 */
  .pg-my .pc-only.pc-my { grid-template-columns: 280px minmax(0, 1fr); }
  .pg-my .pc-my-side { top: 124px; }
  .phone.cust.mysub > .pc-mysub-side { margin-top: 36px !important; }
  .pc-bcard .pc-bsp { height: 4px; }
}

@media (min-width: 1024px) {
  /* ---- c_cs 고객센터: 가치 카드 2장(숨긴 기능 카드 제외)은 반반, 두 열 카드 높이 맞춤, 로그아웃 상태 1:1 문의는 낮은 가로 띠 ---- */
  .pg-cs > .section.stack > .cs-value { grid-column: span 3; flex-direction: row; align-items: flex-start; }
  .pg-cs > .section.stack > .cs-meaning { margin-top: 20px; padding-top: 40px; padding-bottom: 40px; }
  .pg-cs > .section.stack > .cs-col:not(.cs-iq) { grid-template-rows: auto minmax(0, 1fr); align-content: stretch; }
  .pg-cs > .section.stack > .cs-col:not(.cs-iq) > .card, .pg-cs > .section.stack > .cs-col:not(.cs-iq) > .menu-list { height: 100%; box-sizing: border-box; }
  .pg-cs .menu-list { display: grid; grid-auto-rows: minmax(52px, 1fr); }
  .pg-cs .menu-list > * { display: flex; align-items: center; justify-content: space-between; padding-top: 0; padding-bottom: 0; }
  .pg-cs .cs-col > .card:has(.faq) { display: grid; grid-auto-rows: minmax(52px, 1fr); }
  .pg-cs .faq summary { min-height: 52px; box-sizing: border-box; display: flex; align-items: center; }
  .pg-cs .iq-out > .card { flex-direction: row !important; align-items: center !important; justify-content: space-between; gap: 28px; padding: 24px 32px !important; min-height: 120px; }
  .pg-cs .iq-out-in { flex-direction: row !important; text-align: left !important; gap: 20px !important; align-items: center; }
  .pg-cs .iq-art { width: 64px; height: 52px; flex: none; }
  .pg-cs .iq-out .end-cta { margin: 0 !important; width: 240px; flex: none; }
}

@media (min-width: 1024px) {
  /* ---- c_faq 읽는 화면: 제목도 880px 열 안에 (R1) ---- */
  .phone.cust.pg-faq > .topbar { max-width: 880px; margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; }
  .phone.cust.pg-faq > .section { max-width: 880px !important; padding-left: 0 !important; padding-right: 0 !important; }
}

@media (min-width: 1024px) {
  /* ---- c_reviews 요약 카드 3칸 / 후기 카드 행 높이 맞춤 ---- */
  .pg-reviews > .section.stack > .card.pad.row { display: grid; grid-template-columns: 180px minmax(0, 1fr) 420px; gap: 40px; align-items: center; min-height: 130px; padding: 20px 32px; }
  .pg-reviews .card.pad.row > :first-child { text-align: center; }
  .pg-reviews .card.pad.row > :first-child .num { font-size: 48px; line-height: 1.1; }
  .pg-reviews .card.pad.row .rv-dist { width: 100%; margin-left: 0; }
  .pg-reviews .rv-list { grid-auto-rows: 1fr; }
  .pg-reviews .rv-list > .review { box-sizing: border-box; height: 100%; }
  /* c_review 후기 상세: 버튼은 오른쪽 열 폭 전체 (R5) */
  .pg-review > .section.stack > .btn-cta { width: 100% !important; max-width: none !important; height: 56px; margin: 4px 0 0 !important; justify-content: space-between; }
}

@media (min-width: 1024px) {
  /* ---- d_cs 문의: 폼을 흰 카드에 담아 d_account와 같은 형태로 ---- */
  .pg-d-cs > .form > .dcs-card { display: flex; flex-direction: column; gap: 18px; grid-column: 1; grid-row: 1 / span 3; background: #fff; border: 1px solid var(--pc-line); border-radius: 14px; padding: 24px; min-width: 0; }
  .pg-d-cs .dcs-card > .btn { width: auto !important; min-width: 160px; height: 48px; padding: 0 28px !important; border-radius: 12px; align-self: flex-end; margin: 0 !important; }
  .pg-d-cs > .form > .tiny { grid-row: 1 / span 3; align-self: start; }

  /* ---- d_deals 매입 진행: 행 가운데에 단계 막대, 건이 적어도 구역 구조가 보이게 ---- */
  .pg-d-deals .deal-steps { display: flex; gap: 6px; margin: 0 28px 0 auto; flex: none; }
  .pg-d-deals .deal-steps i { width: 84px; text-align: center; font-style: normal; font-size: 12px; color: var(--muted); padding-top: 8px; border-top: 4px solid #E5E1D8; }
  .pg-d-deals .deal-steps i.on { color: var(--navy); font-weight: 700; border-top-color: #C9A227; }
  .pg-d-deals .deal-empty { display: block; }
  .pg-d-deals .deal-empty .card .empty { padding: 22px 16px; }

  /* ---- d_settle 정산: 간격 24/32, 같은 금액 두 번 보이지 않게 ---- */
  .pg-d-settle > .section { row-gap: 32px; }
  .st-top { gap: 24px; }
  .st-top .bill-sum { margin: 0; }
  .fee-month-h .fm-amt { display: none; }

  /* ---- d_list 입찰: 카드 오른쪽에 내 견적가·참여 팀 수 ---- */
  .pg-d-list .dl-side { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 4px; margin-left: auto; padding-left: 12px; flex: none; text-align: right; }
  .pg-d-list .dl-my { display: flex; flex-direction: column; align-items: flex-end; }
  .pg-d-list .dl-my em { font-style: normal; font-size: 11.5px; color: var(--muted); }
  .pg-d-list .dl-my b { font-size: 19px; color: var(--blue); font-weight: 800; }
  .pg-d-list .dl-my b small { font-size: 12px; font-weight: 600; margin-left: 2px; }
  .pg-d-list .dl-teams { font-size: 12.5px; color: var(--muted); }
  .pg-d-list .dl-teams b { color: var(--ink); }
  .pg-d-list .mo-mine { display: none; }
}

@media (min-width: 1024px) {
  /* 홈 3단계 안내: 설명이 한 줄이어도 글 높이를 같게 (두 줄 분량 확보) */
  .pc-step p { min-height: 3.2em; }
}

/* ===== UX 리드 검수 보완 (2026-10-27) ===== */
@media (min-width: 1024px) {
  /* B1 홈 빅배너 버튼은 원래 모양(알약) 그대로: 위의 고객 큰 버튼 14px 규칙에서 제외 */
  .phone.cust .hero .btn:not(.btn-sm):not(.chip), .phone.cust .hero .btn-cta { border-radius: 27px; }
  .phone.cust .hero .btn-cta .arr { border-radius: 50%; }

  /* B2 송금 계좌번호는 줄바꿈 금지 */
  .now-acct dd { white-space: nowrap; }

  /* B5 고객 로그인: 왼쪽 글을 본문 시작선에 맞추고 패널 안 중복 로고는 숨김 */
  .phone.cust.pg-login > .cl-brand .dl-brand-in { padding-left: max(64px, calc((100vw - 1136px) / 2)); padding-right: 48px; }
  .phone.cust.pg-login > .cl-brand .dl-brand-in .logo { display: none; }
  .phone.cust.pg-login > .cl-brand h2 { margin-top: 0; }
}
@media (min-width: 1024px) and (max-width: 1439px) {
  /* B2 금액은 위 줄, 예금주·은행·계좌는 아래 한 열 */
  .phone.dl .now-card .now-acct { grid-template-columns: 1fr; }
  .now-acct .na-amt { border-right: 0; padding-right: 0; padding-bottom: 12px; border-bottom: 1px solid #EFE7C8; flex-direction: row; align-items: baseline; gap: 12px; }
}

@media (min-width: 1024px) {
  /* B3 c_result: 판매자 후기는 오른쪽 열, 비슷한 거래 결과는 두 열 아래 전폭 3열 */
  .pg-result > .section.stack > .rs-sim { display: block; grid-column: 1 / -1; margin: 30px 0 0; }
  .pg-result .rs-sim .sec-head { margin: 0 0 16px !important; }
  .pg-result .rs-sim > .card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; background: none; border: 0; box-shadow: none; border-radius: 0; overflow: visible; }
  .pg-result .rs-sim .item-row { background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
  .pg-result > .section.stack > .notice { grid-column: 1 / -1; margin-top: 12px; }
}
@media (min-width: 1024px) {
  .pg-result .rs-dpc { display: block; }
  .pg-result .rs-dmo { display: none; }
}
@media (min-width: 1024px) {
  /* B4 c_sell: 사진 칸은 5열 x 2줄. 둘째 줄은 추가 사진 자리(옅은 점선 칸) */
  .pg-sell .sf-ph .xp.ph { display: flex; align-items: center; justify-content: center; position: relative; border: 1.5px dashed #E6DFCC; border-radius: 12px; background: transparent; color: var(--faint); font-size: 13px; font-weight: 700; cursor: pointer; overflow: hidden; }
  .pg-sell .sf-ph .xp.ph input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
}
.xp.ph { display: none; }
@media (min-width: 1024px) {
  /* B6 c_item 낙찰 후: '전화하기'는 왼쪽 패널 한 곳만 (오른쪽 회원사 카드·상태 카드 링크는 숨김) */
  .pg-item .call-btn, .pg-item .mo-tel { display: none; }
}
@media (min-width: 1024px) {
  /* N3 c_item: 카드 사이 16, 구역 사이 24, 본문 끝과 푸터 사이 72(왼쪽 패널 끝은 56) */
  .pg-item .itw > .section.stack { gap: 16px; }
  .pg-item .itw > .section { padding-bottom: 0 !important; }
  .pg-item .itw > .pc-iside { margin-bottom: 56px !important; }
  .pg-item .pc-bidhead { margin: 0 0 -4px; }
}
@media (min-width: 1024px) {
  /* N1 d_account: 1줄 = 계정 입력 + 사업자 정보, 2줄 = 비밀번호 변경(전폭, 칸 3개 한 줄) */
  .pg-d-account > .form > .da-main { grid-row: 1; }
  .pg-d-account > .form > .card.pad.stack:first-child { grid-column: 2; grid-row: 1; }
  .pg-d-account > .form > .card.pad.stack:last-child { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px 16px; align-items: center; }
  .pg-d-account > .form > .card.pad.stack:last-child > b, .pg-d-account > .form > .card.pad.stack:last-child > .tiny { grid-column: 1 / -1; }
  .pg-d-account > .form > .card.pad.stack:last-child > .btn { grid-column: 4; }
}
@media (min-width: 1024px) {
  /* N2 d_cs: 안내 글은 위 한 줄 띠, 입력 카드는 한 열 (내용 칸 최대 720px) → 두 열 아랫선 차이 없음 */
  .pg-d-cs > .form { grid-template-columns: minmax(0, 1fr); }
  .pg-d-cs > .form > .tiny { grid-column: 1; grid-row: 1; padding: 14px 20px; }
  .pg-d-cs > .form > .dcs-card { grid-column: 1; grid-row: 2; }
  .pg-d-cs .dcs-card > .field { max-width: 720px; }
  .pg-d-cs .dcs-card > .btn { align-self: flex-start; }
  .pg-d-cs > .form > .flabel, .pg-d-cs > .form > .card { grid-row: auto; }
}
@media (min-width: 1024px) {
  /* N5 c_dealer: 한 줄 소개는 표지에 있으니 첫 카드에서는 빼요 */
  .pg-dealer .dp-intro .dp-tag { display: none; }
}
/* N6 d_edit 경력 칸: 휴대폰은 그대로(감싸개만 투명), PC는 숫자 + '년' 단위 */
.mgr-y { display: contents; }
.mgr-u { display: none; }
@media (min-width: 1024px) {
  .ed-mgr .card > .grid2:last-child { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; align-items: center; }
  .ed-mgr .mgr-y { display: flex; align-items: center; gap: 8px; }
  .ed-mgr .mgr-y input[type="number"] { max-width: none; flex: 1; min-width: 0; }
  .ed-mgr .mgr-u { display: inline; font-style: normal; font-size: 14px; color: var(--muted); font-weight: 600; }
}

/* 대표 결정(2026-10-27): 고객 화면의 주요 행동 버튼은 금색 하나로 (크기·위치는 그대로, 색만). 회원사 화면은 남색 유지, 빅배너 버튼은 그대로 */
.phone.cust .btn-navy:not([href^="#/d/"]) { background: linear-gradient(180deg, #D8B23A, var(--gold)); color: var(--ink); box-shadow: 0 6px 16px rgba(201,162,39,.35); }
.phone.cust .btn-navy:not([href^="#/d/"]):hover { background: linear-gradient(180deg, #DDBA4C, #C29A22); }
.phone.cust .btn-navy:disabled { box-shadow: none; }
.phone.cust .btn-cta.btn-gold { background: linear-gradient(180deg, #D8B23A, var(--gold)); color: #1A1406; box-shadow: 0 12px 28px -10px rgba(194,154,34,.6); }
.phone.cust .btn-cta.btn-gold .arr { background: #0E1116; color: #E9C55A; }

/* N4 · N6 (2026-10-27 UX 리드 재검수) */
@media (min-width: 1024px) {
  .pg-result > .section.stack > .rs-sim { margin-top: 48px; }   /* 구역 사이 간격 48 */
}
.pg-sell [data-act="submit-sell"]:disabled { background: #E3E6EC !important; border-color: #E3E6EC !important; color: var(--faint) !important; opacity: 1; cursor: not-allowed; }   /* 비활성 신청 버튼은 회색 */
.seller-card .btn-line[data-act="d-call"] { background: #fff; border-color: var(--navy); color: var(--navy); }   /* N2: 전화하기는 선 버튼 (금색은 송금했어요 하나만) */

/* M3 만 19세 제한 화면(PC): 가운데 480px 카드 + 바닥글이 화면 아래에 붙게. 휴대폰은 그대로 */
@media (min-width: 1024px) {
  .phone.cust.pg-sell:has(.auth-under) { display: flex; flex-direction: column; min-height: calc(100vh - 115px); }
  .phone.cust.pg-sell:has(.auth-under) > .auth-under { width: 480px; max-width: 100% !important; box-sizing: border-box; margin: auto !important; padding: 32px; background: #fff; border-radius: 24px; box-shadow: var(--shadow); text-align: center; }
  .phone.cust.pg-sell:has(.auth-under) > .auth-under .btn { width: 100%; }
  .phone.cust.pg-sell:has(.auth-under) > .site-footer { margin-top: 0 !important; }
}
.phone.cust .auth-under .btn-line { background: #fff; border-color: var(--navy); color: var(--navy); }

/* 대표 지적(2026-10-27) PC 거래 상세: 왼쪽 패널은 본문 영역 안에서만 붙고 푸터를 덮지 않아요. 휴대폰은 그대로 */
.pg-item .itw { display: contents; }
@media (min-width: 1024px) {
  .pg-item .itw { display: flow-root; position: relative; padding: 0 0 8px !important; margin: 0 !important; max-width: none !important; width: auto !important; }
  .pg-item .itw > .pc-only, .pg-item .now-btn.pc-only { display: block; }
  .pg-item .range-card { display: none; }
  /* 오른쪽 열 맨 위 행동 카드: 받은 견적 요약 + 판매하기 (금색 56px) */
  .pg-item .itw > .section.pc-act-sec { position: static; z-index: 6; padding: 0 0 12px !important; margin-top: 0; background: rgba(247,245,240,.96); }
  .pg-item .pc-act-card { display: flex; align-items: center; gap: 20px; padding: 16px 20px; border-radius: 14px; }
  .pg-item .pc-act-card .pa-sum { flex: 1; min-width: 0; display: grid; gap: 4px; }
  .pg-item .pc-act-card .pa-sum b { font-size: 16px; }
  .pg-item .pc-act-card .pa-sum span { font-size: 14px; color: var(--muted); }
  .pg-item .pc-act-card .pa-sum em { font-style: normal; font-weight: 800; color: var(--gold-ink); }
  .pg-item .pc-act-card .btn { height: 56px; border-radius: 14px; font-size: 16px; padding: 0 24px; white-space: nowrap; flex: none; width: auto; }
  .pg-item .pc-act-card .btn[disabled] { opacity: .6; box-shadow: none; }
  .pg-item .now-card .now-btn.pc-only .btn { height: 56px; border-radius: 14px; width: 100%; justify-content: center; }
}

/* 마이페이지 메뉴에 있는 화면(내 견적함·고객센터 포함)은 PC에서 왼쪽 패널 280px을 함께 보여줘요. 견적 신청은 전폭 */
@media (min-width: 1024px) {
  .phone.cust.mysub.pg-box > .pc-only.pc-box { padding: 0; }
  .phone.cust.mysub .pc-bgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (min-width: 1024px) {
  .phone.cust.mysub > .pc-mysub-side { margin-top: 44px !important; }   /* 패널 윗선 = 오른쪽 화면 제목 윗선 */
}

/* M4 에이전트 휴대폰: 숫자 카드가 한 장만 남는 줄이 없게 (5장은 마지막을 전폭, 3장은 3열) */
@media (max-width: 600px) {
  .wide.agent .kpis > :last-child:nth-child(5) { grid-column: 1 / -1; }
  .wide.agent .kpis:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .wide.agent .kpis:has(> :nth-child(3):last-child) .kpi { padding: 12px 10px; }
  .wide.agent .kpis:has(> :nth-child(3):last-child) .kpi b { font-size: 22px; }
}

/* 긴급(2026-10-27) 휴대폰 견적 비교 카드: 배지가 많아도 카드 폭 안, 금액은 잘리지 않게, 지표가 넘치면 줄바꿈. PC 표는 그대로 */
@media (max-width: 1023px) {
  .card.bid { min-width: 0; }
  .bid-name { flex-wrap: wrap; white-space: normal; row-gap: 3px; overflow: visible; }
  .bid-name b { flex: 0 1 auto; max-width: 100%; white-space: nowrap; }
  .bid-top .amount, .bid-amt { flex: none; white-space: nowrap; }
  .bid-bottom { flex-wrap: wrap; row-gap: 6px; }
  .bid-bottom .bid-metrics { flex: 1 1 100%; flex-wrap: wrap; overflow: visible; row-gap: 3px; }
  .bid-metrics .hide-sm { display: inline; }
  .bid-bottom .bid-check { margin-right: auto; }
  .bid-bottom .tlink { margin-left: auto; white-space: nowrap; }
}

/* iOS Safari: 날짜·숫자·선택 입력칸이 카드 밖으로 넘치지 않게 (고객·회원사 공통) */
.input, select.input, input.input[type="date"], input.input[type="number"], input.input[type="time"] { max-width: 100%; min-width: 0; box-sizing: border-box; }
input.input[type="date"], input.input[type="time"] { width: 100%; -webkit-appearance: none; appearance: none; text-align: left; display: block; }
input[type="date"]::-webkit-date-and-time-value, input[type="time"]::-webkit-date-and-time-value { text-align: left; }
select.input { -webkit-appearance: none; appearance: none; }
#ru-until { width: auto !important; }
/* 금색 주요 버튼 글자는 흰색 하나로 (빅배너 버튼은 그대로) */
.phone.cust .btn-navy:not([href^="#/d/"]) { color: #fff; }
.gnb-free { color: #fff; }

/* 휴대폰 홈 '최근 거래 결과' 카드: PC 카드와 같은 구성 (사진 4:3 · 브랜드/모델 · 큰 빨간 금액 차이). 다음 카드가 28%쯤 보이게 */
.mo-results .ticker { gap: 12px; padding: 4px 2px 18px; margin-bottom: -10px; background: none; scroll-snap-type: x proximity; }
.mo-results .tick-card { box-shadow: 0 2px 10px rgba(14,17,22,.06); }
.mo-results .tick-card { flex: 0 0 72%; max-width: 280px; padding: 0; overflow: hidden; display: flex; flex-direction: column; border-radius: 18px; }
.mo-results .tk-ph { position: relative; aspect-ratio: 4 / 3; background: #F3F1EC; overflow: hidden; border-radius: 18px 18px 0 0; }
.mo-results .tk-ph .thumb { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; aspect-ratio: auto; }
.mo-results .tk-ph .thumb img { width: 100%; height: 100%; object-fit: cover; }
.mo-results .tk-sold { position: absolute; left: 10px; top: 10px; padding: 3px 9px; border-radius: 999px; background: #0E1116; color: var(--gold-hi); font-size: 11px; font-weight: 700; }
.mo-results .tk-teams { position: absolute; right: 10px; top: 10px; padding: 3px 9px; border-radius: 999px; background: rgba(255,255,255,.94); color: var(--ink-2); font-size: 11px; }
.mo-results .tk-teams b { font-family: var(--sans); font-weight: 800; color: var(--ink); }
.mo-results .tk-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.mo-results .tk-brand { font-size: 12px; font-weight: 700; color: var(--gold-ink); }
.mo-results .tk-name { font-size: 15px; font-weight: 700; line-height: 1.35; min-height: 40px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mo-results .tk-meta { font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 4px; }
.mo-results .tk-hi { margin-top: auto; padding-top: 8px; }
.mo-results .tk-hi b { display: block; font-size: 22px; line-height: 1.2; color: var(--red-ink); font-weight: 800; letter-spacing: -.02em; }
.mo-results .tk-hi span { font-size: 12px; color: var(--muted); }

/* 감정 라운지 PC (2026-10-27): 본문 1100px · 글 목록은 1단 넓은 행 · 글 보기는 본문 760px + 오른쪽 정보. 휴대폰은 그대로 */
@media (min-width: 1024px) {
  .phone.dl.pg-d-lounge .card:has(> .lg-row) { display: block; background: #fff; border: 1px solid var(--pc-line, #E5E1D8); border-radius: 14px; box-shadow: none; overflow: hidden; }
  .phone.dl.pg-d-lounge .lg-row { flex-direction: row; align-items: center; gap: 20px; padding: 16px 24px; background: none; border-radius: 0; box-shadow: none; border-bottom: 1px solid #EEEAE1 !important; overflow: visible; }
  .phone.dl.pg-d-lounge .lg-row:last-child { border-bottom: 0 !important; }
  .phone.dl.pg-d-lounge .lg-row:hover { transform: none; background: #FAF8F3; box-shadow: none; }
  .phone.dl.pg-d-lounge .lg-row .thumb { width: 112px; height: 84px; aspect-ratio: auto; border-radius: 12px; flex: none; }
  .phone.dl.pg-d-lounge .lg-row > .grow { padding: 0; min-width: 0; }
  .phone.dl.pg-d-lounge .lg-row b.ell { font-size: 16px; }
  .phone.dl.pg-d-lounge .lg-row .tiny.ell { -webkit-line-clamp: 1; }
  .phone.dl.pg-d-lounge .lg-row .row { margin-top: 8px !important; }
  .phone.dl.pg-d-lounge .lg-row > :last-child { display: block; order: 0; flex: none; width: 150px; padding: 0; margin: 0; text-align: right !important; white-space: nowrap !important; }
  .phone.dl.pg-d-lounge .lg-row > :last-child br { display: inline; }
  .phone.dl.pg-d-lounge .lg-row > :last-child b { margin: 0; }
  .pg-d-lpost > .section { max-width: 1100px !important; display: grid; grid-template-columns: minmax(0, 760px) minmax(0, 1fr); column-gap: 32px; align-items: start; }
  .pg-d-lpost > .section > * { grid-column: 1; }
  .pg-d-lpost > .section > .lg-aside { display: grid; gap: 16px; grid-column: 2; grid-row: 1 / span 6; position: sticky; top: 24px; }
  .pg-d-lpost > .section > .card.pad:first-child { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: none !important; }
  .pg-d-lpost > .section > .card.pad:first-child > * { grid-column: 1 !important; grid-row: auto !important; }
  .pg-d-lpost .mo-only-tiny { display: none; }
}
@media (min-width: 1024px) {
  .pg-d-lpost > .section { margin-left: 0 !important; margin-right: 0 !important; }
  .pg-d-lpost .mk-main { aspect-ratio: 4 / 3; }
}
.lounge-one { grid-template-columns: minmax(0, 1fr) !important; }

/* M5 신한 거래 내역(휴대폰): 제목 줄과 필터 줄을 위아래로, 표는 칸을 줄여 한눈에 */
@media (max-width: 600px) {
  .wide.partner .panel-h { flex-wrap: wrap; row-gap: 10px; align-items: flex-start; }
  .wide.partner .panel-h > .row { width: 100%; }
  .wide.partner .tbl th, .wide.partner .tbl td { padding: 10px 6px; font-size: 12px; }
  .wide.partner .tbl td .badge { font-size: 10.5px; padding: 2px 6px; white-space: nowrap; }
  .wide.partner .tbl-wrap { overflow-x: auto; }
}
@media (max-width: 600px) {
  .wide.partner .tbl { min-width: 0; width: 100%; }
  .wide.partner .tbl td, .wide.partner .tbl th { white-space: normal; }
  .wide.partner .tbl td:first-child, .wide.partner .tbl th:first-child { white-space: nowrap; }
  .wide.partner .tbl td .tiny { display: block; line-height: 1.3; }
}

/* 에이전트·제휴사 공지사항·문의하기 (#/g/notices, #/g/cs, #/p/notices, #/p/cs) */
.comm-wrap { max-width: 760px; }
.comm-list { padding: 12px 16px 16px; }
.comm-list details.faq summary { align-items: center; }
.comm-list details.faq summary > span:first-child { flex: 1; min-width: 0; }
.comm-list details.faq summary::after { flex: none; }
.comm-list .nt-date { flex: none; margin-left: auto; font-size: 12px; font-weight: 400; color: var(--muted); white-space: nowrap; }
.wide.agent .admin-nav .count, .wide.partner .admin-nav .count { vertical-align: 1px; }
.wide.agent .admin-nav a, .wide.partner .admin-nav a { white-space: nowrap; flex: none; }
@media (max-width: 600px) {
  .wide.agent .admin-nav, .wide.partner .admin-nav { gap: 0 2px; flex-wrap: wrap; overflow-x: visible; }
  .wide.agent .admin-nav a, .wide.partner .admin-nav a { padding: 10px 10px; }
  .comm-list details.faq summary { flex-wrap: wrap; }
  .comm-list .nt-date { margin-left: 0; width: 100%; order: 3; }
}
@media (max-width: 600px) { .comm-wrap .panel-h { flex-wrap: wrap; row-gap: 4px; } .comm-wrap .panel-h h3 { white-space: nowrap; } }
/* PC 고객 거래 상세: 카드 안 큰 버튼은 양옆을 줄여 가운데 400px로 (대표 10-27).
   아래에 후기 작성 카드가 바로 있으면 위 '후기 남기기' 버튼은 중복이라 숨겨요 */
@media (min-width: 1024px) {
  .pg-item .now-card .btn:not(.btn-sm), .pg-item #rv-form > .btn:not(.btn-sm) { display: block; width: 100%; max-width: 400px; margin-left: auto; margin-right: auto; }
  .pg-item .itw:has(#rv-form) .now-card [data-act="goto-review"] { display: none; }
}

/* 대표 결정(2026-10-27 밤): 고객 화면 주요 버튼은 금색 대신 남색(로고 색). 금색은 금액 글자 등 포인트로만.
   빅배너(.hero) 안 버튼은 그대로. 회원사 화면은 원래 남색 */
.phone.cust .btn-navy:not([href^="#/d/"]):not(.hero .btn),
.phone.cust .btn-gold:not(.hero .btn),
.phone.cust .btn-cta.btn-gold:not(.hero .btn) { background: var(--navy, #071E45) !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(7,30,69,.55) !important; border-color: var(--navy, #071E45) !important; }
.phone.cust .btn-navy:not([href^="#/d/"]):not(.hero .btn):hover,
.phone.cust .btn-gold:not(.hero .btn):hover { background: #0B2A5E !important; }
.phone.cust .btn-cta.btn-gold:not(.hero .btn) .arr { background: #E9C55A !important; color: #071E45 !important; }
.phone.cust .btn-gold:disabled, .phone.cust .btn-navy:disabled { background: #E3E6EC !important; border-color: #E3E6EC !important; color: var(--faint) !important; box-shadow: none !important; }
.gnb-free { background: var(--navy, #071E45) !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(7,30,69,.55) !important; }
.gnb-free:hover { background: #0B2A5E !important; filter: none; }

/* ---- 로고 E안 (굵은 대문자 MONAR, 금색 O 하나) ----
   워드마크는 인라인 SVG(app.js의 WM_SVG). 글자색은 color, O는 .o. 태그라인이 있으면 fitLogo()가 워드마크 폭을 태그라인 폭에 맞춰요. */
.logo .wm { font-size: 0 !important; margin: 0 !important; letter-spacing: 0; line-height: 0; display: block; color: var(--navy); }
.logo .wm svg { display: block; height: 22px; width: auto; overflow: visible; }
.logo .wm svg .o { fill: #C9A227; }
.topbar:not(.light) .logo .wm, .dsb-logo .logo .wm, .dl-brand-in .logo .wm { color: var(--on-navy); }
.topbar:not(.light) .logo .wm svg .o, .dsb-logo .logo .wm svg .o, .dl-brand-in .logo .wm svg .o { fill: #D9B84C; }
.logo .wm-block { justify-items: start; row-gap: 0; }
.logo .tagline { font-size: 10px; font-weight: 700; letter-spacing: .01em; margin: 6px 0 0; text-align: left; }
.logo small { align-self: flex-end; margin: 0 0 1px 8px; line-height: 1; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.topbar.light .logo .tagline, .topbar:not(.light) .logo .tagline { font-size: 10px; letter-spacing: .01em; }
.login-logo .logo .tagline { font-size: 13px; letter-spacing: .01em; margin-top: 8px; }
.login-logo .logo .wm-block { justify-items: center; }
@media (min-width: 1024px) {
  .logo .wm svg { height: 26px; }
  .logo .tagline, .topbar.light .logo .tagline { font-size: 12px; margin-top: 7px; }
  .gnb-main .logo .wm svg { height: 28px; }
  .gnb-main .logo .tagline { font-size: 12px; }
  .dsb-logo .logo .wm svg { height: 24px; }
  .dl-brand-in .logo .wm svg { height: 30px; }
  .dl-brand-in .logo .tagline { font-size: 13px; }
  .logo small { font-size: 11px; margin-bottom: 2px; }
}

/* ---- 검수 B 깨짐 수정 (2026-10-28) ---- */
/* hidden 속성이 .stack{display:grid} 등에 지지 않게: 송금했어요 창 감가 사유, 검수 결과 창 감가 칸 */
[hidden] { display: none !important; }
/* 회원사 입찰 목록 구성품 칩: 찌그러뜨리지 않고, 안 들어가면 fitTags가 통째로 숨기고 +n으로 알려요 */
.tag-line .tags > .tag-sm, .tag-line .tags > span.tag-sm:last-child { flex: none; min-width: auto; overflow: visible; text-overflow: clip; }
.tag-line .tags > .tag-sm.tag-more { color: var(--muted); }
/* 관리자 격자: 긴 글(공지 미리보기)이 칸을 밀어 가로로 넘치지 않게 */
.admin-grid > * { min-width: 0; }
/* 문의 내역: 띄어쓰기 없는 긴 글은 줄바꿈하고, 답변 배지는 밀려나지 않게 */
.review > .row.between > b { min-width: 0; overflow-wrap: anywhere; }
.review > .row.between > .badge { flex-shrink: 0; }
.review .small { overflow-wrap: anywhere; min-width: 0; }
/* PC 거래 상세: 표 아래 중복 버튼은 숨김 (행동 카드가 위에 있어요) */
@media (min-width: 1024px) { .pg-item .mo-sell { display: none !important; } }

/* ---- 검수 A 수정 (2026-10-28) ---- */
/* 라디오·체크박스가 글 길이에 따라 찌그러지지 않게 */
.check input { flex: none; }
/* 한 글자만 다음 줄로 넘어가지 않게 묶는 표시 */
.nw { white-space: nowrap; }
/* 견적 카드: 1위는 '최고 매입가' 배지와 연한 배경으로만, 진한 금색 테두리는 선택한 카드만 */
.card.bid.v2.top:not(.sel) { border: 1.5px solid var(--line, #E6E8EE); box-shadow: none; }
.card.bid.v2.sel { border: 2px solid var(--gold, #C9A227); }
/* 좁은 폰(360): 지표 줄이 넘쳐 '거래 수'만 둘째 줄로 내려가지 않게 */
@media (max-width: 380px) { .card.bid.v2 .bid-metrics .bm-4 { display: none; } }
/* 고객센터 '모나르의 의미': 새 로고(E안) 워드마크 + 회사 소개 링크 (10-28) */
.cs-meaning .cs-word { display: flex; justify-content: center; color: var(--navy); margin: 6px 0 4px; }
.cs-meaning .cs-word svg { height: 40px; width: auto; overflow: visible; }
.cs-meaning .cs-word svg .o { fill: #C9A227; }
.cs-company { display: inline-block; margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--gold-ink); text-decoration: underline; text-underline-offset: 3px; align-self: center; }
@media (min-width: 1024px) { .cs-meaning .cs-word svg { height: 44px; } }
/* PC 고객센터: 본문 글씨가 작아 읽기 어려워서 키움 (대표 10-28) */
@media (min-width: 1024px) {
  .pg-cs .cs-meaning .small { font-size: 16px; line-height: 1.75; color: var(--ink-2); }
  .pg-cs .cs-meaning .tiny { font-size: 14px; }
  .pg-cs .cs-company { font-size: 15px; }
  .pg-cs .cs-value .tiny { font-size: 14px !important; }
  .pg-cs .cs-value b { font-size: 19px; }
  .pg-cs .cs-value .small { font-size: 15.5px; line-height: 1.75; color: var(--ink-2) !important; }
  .pg-cs .faq summary { font-size: 16.5px; }
  .pg-cs .faq p { font-size: 15.5px; line-height: 1.75; color: var(--ink-2); }
  .pg-cs .cs-col .card a, .pg-cs .cs-col .card .small { font-size: 15px; }
  .pg-cs .cs-col .card a > span, .pg-cs .cs-col .card a b { font-size: 16px; }
}
@media (min-width: 1024px) {
  .pg-cs .cs-col .menu-list a { font-size: 16px; padding-top: 20px; padding-bottom: 20px; }
  .pg-cs .cs-col .menu-list a .small { font-size: 14px; }
}
/* PC 고객센터: 자주 묻는 질문을 펼치면 두 열 높이 맞춤 때문에 칸이 길게 늘어나던 문제 — 칸은 내용 높이대로 (10-28) */
@media (min-width: 1024px) {
  .pg-cs .cs-col { align-self: start !important; height: auto !important; }
  .pg-cs .cs-col > .card, .pg-cs .cs-col > .menu-list { height: auto !important; flex: none !important; display: block !important; }
  .pg-cs .cs-col .card > details.faq, .pg-cs .cs-col .menu-list > a { flex: none !important; height: auto !important; min-height: 0 !important; }
  .pg-cs .cs-col .menu-list > a { display: flex !important; align-items: center; justify-content: space-between; }
}

/* ===== 이용 안내 다시 디자인 (대표 10-28): 소개 띠 → 단계 → 촬영 가이드 → 안심 거래 → 마무리 CTA ===== */
.pg-guide .gd { gap: 0 !important; }
.gd-hero { background: linear-gradient(135deg, #071E45 0%, #0D2A5C 100%); color: var(--on-navy); border-radius: 20px; padding: 26px 22px 22px; position: relative; overflow: hidden; }
.gd-hero::after { content: ''; position: absolute; right: -46px; top: -46px; width: 150px; height: 150px; border-radius: 50%; border: 14px solid rgba(201,162,39,.22); }
.gd-hero .eyebrow { color: var(--gold-hi); font-size: 11px; letter-spacing: .14em; font-weight: 800; }
.gd-hero h2 { font-size: 23px; line-height: 1.35; margin: 8px 0 10px; color: #fff; letter-spacing: -.03em; position: relative; }
.gd-hero p { margin: 0; font-size: 14px; line-height: 1.65; color: rgba(236,240,248,.78); position: relative; }
.gd-keys { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; position: relative; }
.gd-keys li { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 11px 6px; text-align: center; display: flex; flex-direction: column; gap: 3px; }
.gd-keys b { font-size: 16px; color: var(--gold-hi); letter-spacing: -.02em; }
.gd-keys span { font-size: 11.5px; color: rgba(236,240,248,.8); }
.gd-sec-h { margin: 32px 0 14px; }
.gd-sec-h .eyebrow { color: var(--gold-ink); font-size: 11px; letter-spacing: .14em; font-weight: 800; }
.gd-sec-h h2 { margin: 4px 0 0; font-size: 20px; letter-spacing: -.03em; color: var(--navy); }
.gd-tips li svg { color: var(--gold-ink); }
.gd-safe { display: grid; gap: 10px; }
.gd-safe-i { background: #fff; border: 1px solid #ECE7DC; border-radius: 18px; padding: 18px; display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; align-items: start; }
.gd-safe-ic { grid-row: span 2; width: 44px; height: 44px; border-radius: 12px; background: var(--gold-soft); color: var(--gold-ink); display: grid; place-items: center; }
.gd-safe-i b { font-size: 15.5px; color: var(--navy); letter-spacing: -.02em; }
.gd-safe-i p { margin: 4px 0 0; font-size: 13px; line-height: 1.6; color: var(--muted); }
.gd-end { margin-top: 32px; background: #F0ECE0; border-radius: 20px; padding: 24px 20px; display: flex; flex-direction: column; gap: 16px; text-align: center; }
.gd-end b { display: block; font-size: 18px; color: var(--navy); letter-spacing: -.03em; }
.gd-end span { display: block; margin-top: 4px; font-size: 13.5px; color: var(--muted); }
.gd-end-act { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.pg-guide .gd-end .gd-cta { margin: 0 !important; width: auto !important; }
.gd-faq { font-size: 14px; font-weight: 700; color: var(--gold-ink); text-decoration: none; }
@media (min-width: 1024px) {
  .gd-hero { border-radius: 22px; padding: 52px 56px; display: grid; grid-template-columns: minmax(0, 1fr) 460px; grid-template-rows: auto auto auto; column-gap: 56px; align-items: center; }
  .gd-hero::after { right: -80px; top: -80px; width: 300px; height: 300px; border-width: 26px; }
  .gd-hero .eyebrow, .gd-hero h2, .gd-hero p { grid-column: 1; }
  .gd-hero .eyebrow { font-size: 12.5px; }
  .gd-hero h2 { font-size: 36px; margin: 12px 0 14px; }
  .gd-hero p { font-size: 16px; }
  .gd-keys { grid-column: 2; grid-row: 1 / span 3; margin: 0; gap: 12px; }
  .gd-keys li { padding: 26px 10px; border-radius: 16px; gap: 6px; }
  .gd-keys b { font-size: 24px; }
  .gd-keys span { font-size: 14px; }
  .gd-sec-h { margin: 56px 0 20px; }
  .gd-sec-h .eyebrow { font-size: 12.5px; }
  .gd-sec-h h2 { font-size: 26px; margin-top: 6px; }
  .gd-body p { font-size: 15px !important; }
  .gd-body b { font-size: 17.5px !important; }
  .gd-shot-head b { font-size: 20px !important; }
  .gd-shot-head span, .gd-tips { font-size: 15px !important; }
  .gd-safe { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .gd-safe-i { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-radius: 18px; }
  .gd-safe-ic { width: 52px; height: 52px; border-radius: 14px; }
  .gd-safe-i b { font-size: 18px; }
  .gd-safe-i p { margin: 0; font-size: 15px; line-height: 1.7; }
  .gd-end { margin-top: 56px; flex-direction: row; align-items: center; justify-content: space-between; text-align: left; padding: 36px 48px; border-radius: 22px; }
  .gd-end b { font-size: 24px; }
  .gd-end span { font-size: 15.5px; margin-top: 6px; }
  .gd-end-act { flex-direction: row; align-items: center; gap: 24px; }
  .pg-guide .gd-end .gd-cta { width: 280px !important; height: 56px; }
  .gd-faq { font-size: 15px; white-space: nowrap; }
}
@media (min-width: 1024px) { .gd-hero::after { right: -120px; top: auto; bottom: -150px; width: 320px; height: 320px; border-color: rgba(201,162,39,.16); } }
/* 후기 별점이 좁은 휴대폰에서 두 줄로 꺾이던 문제 (재검수 N1, 10-28) */
.review .stars { white-space: nowrap; flex-shrink: 0; }

/* 에이전트·관리자 머리글 워드마크 (10-28). 밝은 바탕이라 글자는 남색, O는 금색. 어두운 바탕이면 흰색 + #D9B84C */
.wm-head { display: flex; align-items: center; gap: 8px; }
.wm-mini { display: inline-block; color: var(--navy); line-height: 0; }
.wm-mini svg { display: block; height: 16px; width: auto; overflow: visible; }
.wm-mini svg .o { fill: #C9A227; }
.wm-sub { font-size: 11px; font-weight: 800; letter-spacing: .18em; color: var(--muted); line-height: 1; }
.admin-login .wm-head { margin-bottom: 2px; }
.dark .wm-mini, .topbar:not(.light) .wm-mini { color: #fff; }
.dark .wm-mini svg .o, .topbar:not(.light) .wm-mini svg .o { fill: #D9B84C; }
.dark .wm-sub, .topbar:not(.light) .wm-sub { color: #fff; }

/* PC(1024px 이상)만 본문 글씨 키우기 (UX리드 재검수 10-28). 휴대폰은 그대로.
   빅배너(.hero), 버튼, 고객센터·이용 안내·입점 안내(따로 키워 둠)는 건드리지 않아요. */
@media (min-width: 1024px) {
  .phone:not(.pg-cs):not(.pg-guide):not(.pg-partner) .tiny:not(button):not(.btn):not(.hero *) { font-size: 13px; }
  .phone:not(.pg-cs):not(.pg-guide):not(.pg-partner) .small:not(button):not(.btn):not(.hero *) { font-size: 14px; }
  .phone:not(.pg-cs):not(.pg-guide):not(.pg-partner) .notice.small:not(.hero *) { font-size: 14px; line-height: 1.6; }
  .phone:not(.pg-cs):not(.pg-guide):not(.pg-partner) .notice:not(.hero *) { font-size: 14px; line-height: 1.6; }
  .phone .rv-text:not(.hero *) { font-size: 14px; }
  .phone span.gain:not(.hero *) { font-size: 13px; }
  /* 바닥글: 저작권 줄 대비 4.5:1 이상 (남색 #0A1730 바탕 위 #8E9AB3) */
  .phone.cust .site-footer .ft-note { font-size: 12.5px; color: var(--on-navy-2); }
  .phone.cust .site-footer .ft-copy { font-size: 12px; color: var(--on-navy-2); }
  /* 대비 부족 3곳: 글자색을 진하게 */
  .pc-badd > span:last-child { font-size: 14px; color: var(--muted); }
  .phone.cust.pg-home .row > .small.muted { color: var(--ink-2); }
  .memo-box .muted { font-size: 14px; color: var(--ink-2); }
  /* 이용약관 본문 */
  .legal { font-size: 15px; }
  .legal h4 { font-size: 16px; }
  .legal table { font-size: 14px; }
  .legal-sub { font-size: 13.5px; color: var(--ink-2); }
}
/* 에이전트·제휴사 문의: 넓은 화면에서 문의 남기기 버튼이 카드 끝까지 길게 늘어나던 문제 (대표 10-28) */
@media (min-width: 601px) { .comm-wrap .form > [data-act="agcs-send"] { justify-self: end; width: 200px; min-height: 48px; height: 48px; padding: 0 20px; font-size: 15px; } }
/* 실시간·프리미엄 목록 PC: 하단 안내 띠 위·아래 여백 같게 40px (대표 10-28) */
@media (min-width: 1024px) { .pg-live > .section > .notice:last-child { margin-top: 30px; } .pg-live .site-footer { margin-top: 32px !important; } }

/* 세로 여백·버튼 폭 정리 (UX리드 측정, 10-28). PC는 1024px 이상만, 휴대폰은 R4·R5(회원사 거래 상세·정산)만 바꿔요. */
@media (min-width: 1024px) {
  /* F1 홈 후기 카드: 아랫줄이 카드마다 1줄·2줄로 달라지지 않게 위아래로 쌓아요 */
  .rv-grid .review .tiny.row.between { flex-direction: column; align-items: flex-start; gap: 2px; }
  /* F2 견적함 카드: 금액 줄이 "…더 / 받았어요"로 꺾이지 않게 금액 문구를 한 줄로 */
  .pc-bline .gain { display: block; }
  .pc-bline .bl-dot { display: none; }
  /* R1 마지막 블록에서 바닥글까지 80px로 통일 (실시간 목록은 안내 띠 위·아래 40/40 규칙을 그대로 둬요) */
  .phone.cust:not(.pg-live) > :has(+ .site-footer) { padding-bottom: 0 !important; margin-bottom: 0 !important; }
  .phone.cust:not(.pg-live) > :has(+ .site-footer) > :last-child { margin-bottom: 0; }
  .phone.cust:not(.pg-live) .site-footer { margin-top: 80px !important; }
  /* R2 후기 목록: 필터에서 목록까지 16px */
  .pg-reviews .section.stack { row-gap: 16px; }
  /* R3 홈: 마지막 바로가기 줄 위 간격을 다른 구역(약 77px)과 같게 */
  .pg-home > .section:last-of-type { padding-top: 77px; }
  /* R5 회원사 정산: 블록 사이 16px 하나로 */
  .st-main > .sec-head, .st-main > .sec-head ~ .sec-head { margin-top: 0 !important; margin-bottom: 0 !important; }
  /* R6 판매자 순위: 띠→탭→내용→안내문 간격 24px로 */
  .pg-rank .rank-hero { margin-bottom: 24px; }
  .pg-rank .seg-tabs { margin-bottom: 24px; }
  .pg-rank .section > p.tiny.muted { margin: 24px 0 0; }
  /* R7 회원 정보·받을 계좌: 저장 버튼 위 32px */
  .phone.cust.pg-profile .end-cta, .phone.cust.pg-account .end-cta, .phone.cust.pg-vip .end-cta { margin: 12px auto 0 !important; }
  /* R8 빈 견적함: 빈 상태 카드에 최소 높이를 줘서 아래 빈 곳을 줄여요 */
  .pg-box .card.empty { min-height: 360px; display: grid; align-content: center; }
  /* B1~B5 넓게 늘어나던 버튼은 최대 320px */
  .pg-box .box-empty .btn { width: 320px; max-width: 100%; justify-self: center; }
  .phone.cust .btn[data-act="relist"] { width: 320px; max-width: 100%; justify-self: center; margin-left: auto; margin-right: auto; display: flex; }
  .phone.cust.pg-review .btn.btn-cta.end-cta { width: 320px !important; }
  .btn[data-act="admin-done"] { width: 320px; max-width: 100%; justify-self: end; margin-left: auto; display: flex; }
  .btn[data-act="sim-deduct-timeout"] { width: 320px; max-width: 100%; justify-self: end; margin-left: auto; }
}
/* R4 진행 막대는 위·아래 간격을 같게(안쪽 여백 제거, 간격은 목록 간격 그대로: PC 16 · 휴대폰 10). R5 휴대폰: 정산 블록 사이 10px 하나로 */
.deal-bar { padding: 0; }
@media (max-width: 1023px) {
  .st-main > .sec-head, .st-main > .sec-head ~ .sec-head { margin-top: 0 !important; margin-bottom: 0 !important; }
}

/* ===== 디자인 시스템 0단계 (10-28): 규칙표 변수만 추가, 아직 아무 곳에도 쓰지 않음 → 화면 변화 없음.
   규칙표: 산출물/디자인/디자인시스템/디자인시스템.md §9
   이미 있는 이름(--navy --gold --gold-hi --gold-ink --gold-soft --paper --paper-2 --card --ink --muted --faint --line
   --green --green-soft --amber --amber-soft --red --red-soft --blue --navy-2 --r-card)은 값이 달라 1단계(색 모으기)에서 바꿔요. ===== */
:root {
  --ink-2:#4B5160; --line-strong:#D6D1C3; --on-navy:#F3F0E8; --on-navy-2:#BAC3D6; --notice-ink:#6A5410;
  --amber-ink:#94501F; --red-ink:#A83A27; --blue-soft:#E8EEF7;
  --fs-title:20px; --fs-h2:18px; --fs-h3:16px; --fs-body:14px; --fs-sub:13px; --fs-cap:12px; --fs-amount:24px; --fs-tab:11px;
  --lh-title:1.3; --lh-h2:1.35; --lh-h3:1.4; --lh-body:1.6; --lh-sub:1.55; --lh-cap:1.5;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;
  --gap-block:16px; --gap-section:32px; --gap-section-lg:48px; --gap-title:12px; --gap-item:8px; --gap-grid:12px;
  --pad-card:16px; --gutter:16px;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-full:999px; --r-btn:var(--r-full);
  --shadow-card:0 10px 28px rgba(7,30,69,.07); --shadow-float:0 12px 32px -8px rgba(7,30,69,.28);
  --btn-h:56px; --btn-sm-h:42px; --chip-h:36px; --input-h:52px; --badge-h:22px; --btn-min:240px; --btn-max:420px;
  --w-read:880px; --w-page:1200px; --w-dealer:1180px;
}
@media (min-width: 1024px) {
  :root {
    --fs-title:30px; --fs-h2:22px; --fs-h3:18px; --fs-body:15px; --fs-sub:14px; --fs-cap:13px; --fs-amount:28px;
    --gap-block:24px; --gap-section:48px; --gap-section-lg:80px; --gap-title:16px; --gap-grid:24px;
    --pad-card:24px; --r-btn:var(--r-lg); --shadow-card:none; --btn-sm-h:40px;
  }
}
/* 관리자 공지 올리기·요율 구간 추가 버튼: PC에서 500px로 늘어나던 것 320px로 (QA 10-28) */
@media (min-width: 1024px) { [data-act="notice-add"], [data-act="tier-add"] { max-width: 320px; } }

/* ===== 디자인 시스템 1단계 (10-28): 색 모으기. 형태는 그대로, 색 값만 규칙표로.
   이미 있던 이름 중 값이 달랐던 것은 --muted(#6A6E77→#656A73), --faint(#9AA0A9→#8A8F98) 둘이고, 나머지는 규칙표와 같아요(다시 적어 둠).
   글자색은 위쪽 규칙의 값을 변수로 바꿨어요(--faint는 글자에 안 써요 → --muted, 상태 글자는 -ink).
   홈 빅배너(.hero)는 옛 값 그대로 두려고 아래에서 옛 값으로 막아 둬요. ===== */
:root {
  --navy:#071E45; --navy-2:#0C2A57; --gold:#C9A227; --gold-hi:#D9B84C; --gold-ink:#8A6E15; --gold-soft:#F4EEDA;
  --paper:#F7F6F2; --paper-2:#F1EFE9; --card:#FFFFFF;
  --ink:#101826; --muted:#656A73; --faint:#8A8F98; --line:#E6E2D8;
  --green:#1D6B4F; --green-soft:#E4F0EA; --amber:#B4622A; --amber-soft:#FCEFE1; --red:#C4462F; --red-soft:#FBE9E5; --blue:#1B4C8F;
}
.hero, .hero-wrap { --muted:#6A6E77; --faint:#9AA0A9; }
/* 1단계 보정: 어두운 바탕(남색) 위 글자는 --on-navy-2, 연한 금색 바탕 위 금색 글자는 --notice-ink, 배지 바탕은 대비 4.5 이상 */
.dsb-g, .dsb-out, .dsb-soon, .dsb-me span, .dl-join-steps li, .dl-join-steps li span, .dl-brand-legal, .dl-brand-legal a { color: var(--on-navy-2); }
.dsb-out:hover, .dl-join-steps li.on { color: #fff; }
.dl-join-steps li.on span { color: var(--ink); }
.dl-join-steps li.done span { color: var(--gold-hi); }
.chip.on, .chip.on b, .badge.b-gold, .badge.b-goldsoft, .tip-link, .tip-link span, .feat-mark, .azit-tag, .gd-faq, .pc-lock, .pc-pod-crown { color: var(--notice-ink); }
.v3-brands i, .mo-dl-card .v3-brands i { color: var(--faint); }
.v3-brands em, .mo-dl-card .v3-brands em { color: var(--gold-ink); }
.n-badge, .count.hot, .tabbar .count.hot, .gnb-right .count.hot { background: var(--red); }
.grade.g-S, .pc-pfoot .pc-grade.g-S b, .pc-ptop .pc-grade.g-S b, .pc-pcard .pc-meta .grade.g-S { background: var(--amber-ink) !important; }
@media (min-width: 1024px) { .pc-rt-row .no, .pc-pod-no { color: var(--gold-ink); } }
.gd-sec-h .eyebrow, .cs-company, .pc-rt-head .on, .pc-lock-note a, .deal-grp b, .pc-spec-h .pc-lock, .logo .tagline em, .gd-faq { color: var(--notice-ink); }
.pg-d-deals .deal-grp b, .pg-d-deals .deal-grp.act b { color: var(--notice-ink); }

/* ===== 제휴 파트너 센터 새 설계 (10-28) =====
   설계: 산출물/디자인/제휴센터_20261028/설계.md. 모든 규칙은 .ptc(제휴 화면 뿌리) 안에서만 먹어요 → 고객·회원사·관리자·에이전트 화면은 그대로.
   색·글씨·여백은 디자인 규칙표 변수만 써요. 신한 로고·신한 파랑은 쓰지 않아요. */
html:has(.ptc), body:has(.ptc) { background: var(--paper); }
.wide.partner.ptc { --pt-side: 252px; --pt-top: 64px; --pt-max: 1120px; --pt-x: 40px; max-width: none; margin: 0; padding: 0; min-height: 100vh; color: var(--ink); font-size: var(--fs-body); line-height: 1.6; }
.ptc .mt { color: var(--muted); }
.ptc .cap { font-size: var(--fs-cap); }
.ptc .r { text-align: right; font-variant-numeric: tabular-nums; }
.ptc .up { color: var(--green); font-weight: 700; }
.ptc .dn { color: var(--red-ink); font-weight: 700; }
/* 왼쪽 메뉴 */
.ptc .pt-side { position: fixed; inset: 0 auto 0 0; width: var(--pt-side); background: var(--navy); color: var(--on-navy-2); display: flex; flex-direction: column; padding: var(--sp-5) var(--sp-4); overflow-y: auto; z-index: 20; }
.ptc .pt-brand { padding: 0 var(--sp-3) var(--sp-5); border-bottom: 1px solid rgba(255,255,255,.08); }
.ptc .pt-wm { display: block; color: var(--on-navy); line-height: 0; }
.ptc .pt-wm svg { display: block; height: 22px; width: auto; overflow: visible; }
.ptc .pt-wm svg .o { fill: var(--gold-hi); }
.ptc .pt-brand .sub { margin-top: var(--sp-2); font-size: var(--fs-cap); color: var(--on-navy-2); }
.ptc .pt-org { margin-top: var(--sp-4); font-size: var(--fs-sub); font-weight: 600; color: var(--on-navy); }
.ptc .pt-org .x { color: var(--on-navy-2); font-weight: 400; }
.ptc .pt-grp { margin-top: var(--sp-5); padding: 0 var(--sp-3) var(--sp-2); font-size: 12px; letter-spacing: .06em; color: var(--on-navy-2); opacity: .7; }
.ptc .pt-nav { display: flex; flex-direction: column; gap: 2px; }
.ptc .pt-nav a { position: relative; display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 var(--sp-3); border-radius: var(--r-md); font-size: var(--fs-body); font-weight: 600; color: var(--on-navy-2); white-space: nowrap; }
.ptc .pt-nav a:hover, .ptc .pt-nav a.on { background: var(--navy-2); }
.ptc .pt-nav a.on { color: var(--on-navy); }
.ptc .pt-nav a.on::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 2px; background: var(--gold-hi); }
.ptc .pt-nav .cnt { min-width: 20px; height: 20px; padding: 0 6px; margin-left: 6px; border-radius: 10px; background: var(--gold-hi); color: var(--navy); font-size: 12px; font-weight: 700; display: inline-grid; place-items: center; }
.ptc .pt-foot { margin-top: auto; padding: var(--sp-4) var(--sp-3) 0; border-top: 1px solid rgba(255,255,255,.08); font-size: var(--fs-cap); line-height: 1.55; }
.ptc .pt-foot b { display: block; color: var(--on-navy); font-weight: 600; }
.ptc .pt-foot button { margin-top: var(--sp-3); height: 32px; padding: 0 var(--sp-3); border: 1px solid rgba(255,255,255,.18); border-radius: var(--r-sm); color: var(--on-navy-2); font-size: var(--fs-cap); }
/* 상단 바 */
.ptc .pt-main { margin-left: var(--pt-side); min-height: 100vh; }
.ptc .pt-top { position: sticky; top: 0; z-index: 10; height: var(--pt-top); background: var(--card); border-bottom: 1px solid var(--line); }
.ptc .pt-top-in { max-width: var(--pt-max); height: 100%; margin: 0 auto; padding: 0 var(--pt-x); box-sizing: content-box; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); }
.ptc .pt-top h1 { margin: 0; font-size: var(--fs-h2); font-weight: 700; color: var(--navy); line-height: 1.3; }
.ptc .pt-top .r { display: flex; align-items: center; gap: var(--sp-3); text-align: left; }
.ptc .pt-demo { height: 24px; padding: 0 var(--sp-2); border-radius: var(--r-sm); background: var(--amber-soft); color: var(--amber-ink); font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; white-space: nowrap; }
.ptc .pt-upd { font-size: var(--fs-cap); color: var(--muted); white-space: nowrap; }
.ptc .pt-sel { height: 40px; padding: 0 36px 0 var(--sp-4); border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23656A73' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; font-size: var(--fs-sub); font-weight: 600; color: var(--ink); appearance: none; -webkit-appearance: none; }
.ptc .pt-btn { height: 40px; padding: 0 var(--sp-4); border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--card); color: var(--ink); font-size: var(--fs-sub); font-weight: 600; white-space: nowrap; }
.ptc .pt-btn:hover { background: var(--paper-2); }
/* 본문 */
.ptc .pt-body { max-width: var(--pt-max); margin: 0 auto; padding: var(--sp-6) var(--pt-x) var(--sp-7); box-sizing: content-box; display: grid; gap: var(--gap-block); }
.ptc .pt-body > * { min-width: 0; }
.ptc .pt-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: none; }
.ptc .pt-card-h { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-5) var(--pad-card) 0; }
.ptc .pt-card-h h3 { margin: 0; font-size: var(--fs-h3); font-weight: 700; line-height: 1.4; }
.ptc .pt-card-b { padding: var(--sp-4) var(--pad-card) var(--pad-card); min-width: 0; }
.ptc .pt-link { font-size: var(--fs-cap); font-weight: 600; color: var(--blue); white-space: nowrap; }
.ptc .pt-row2 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--gap-block); align-items: stretch; }
.ptc .pt-row11 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-block); align-items: stretch; }
.ptc .pt-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-block); }
.ptc .pt-kpi { padding: var(--pad-card); display: grid; gap: var(--sp-2); align-content: start; }
.ptc .pt-kpi .l { font-size: var(--fs-sub); font-weight: 600; color: var(--muted); }
.ptc .pt-kpi .v { font-size: var(--fs-amount); line-height: 1.1; color: var(--navy); }
.ptc .pt-kpi .v small { font-family: var(--sans); font-size: var(--fs-sub); font-weight: 600; margin-left: 2px; color: var(--ink-2); }
.ptc .pt-kpi .d { font-size: var(--fs-cap); color: var(--muted); }
.ptc .pt-cell { margin-top: var(--sp-4); background: var(--paper-2); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); font-size: var(--fs-sub); }
.ptc .pt-cell-col { flex-direction: column; align-items: flex-start; gap: 2px; margin: 0 0 var(--sp-4); }
.ptc .pt-ell { display: block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ptc .pt-p { margin: 0 0 var(--sp-4); font-size: var(--fs-sub); color: var(--ink-2); }
.ptc .pt-empty { padding: var(--sp-5) 0; text-align: center; color: var(--muted); font-size: var(--fs-sub); }
.ptc .pt-badge { display: inline-flex; align-items: center; height: 22px; padding: 0 var(--sp-2); border-radius: var(--r-sm); font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--paper-2); color: var(--ink-2); }
.ptc .pt-badge.g { background: var(--green-soft); color: var(--green); }
.ptc .pt-badge.a { background: var(--amber-soft); color: var(--amber-ink); }
.ptc .pt-badge.b { background: var(--blue-soft); color: var(--blue); }
.ptc .pt-badge.r { background: var(--red-soft); color: var(--red-ink); }
.ptc .pt-badge.n { background: var(--paper-2); color: var(--ink-2); }
.ptc .pt-btn-line { display: flex; align-items: center; justify-content: center; height: 40px; margin-top: auto; border: 1px solid var(--line-strong); border-radius: var(--r-lg); font-size: var(--fs-sub); font-weight: 600; }
.ptc .pt-btn-line:hover { background: var(--paper-2); }
/* 차트 */
.ptc .pt-chart svg { display: block; width: 100%; height: auto; }
.ptc .pt-chart .gl { stroke: var(--line); }
.ptc .pt-chart .ax { font-size: 12px; fill: var(--muted); }
.ptc .pt-chart .vl { font-size: 12px; font-weight: 700; fill: var(--ink); }
.ptc .pt-chart .past { fill: var(--navy); }
.ptc .pt-chart .cur { fill: var(--gold); }
.ptc .pt-ch-m { display: none; }
.ptc .pt-legend { display: flex; flex-wrap: wrap; gap: var(--sp-4); font-size: var(--fs-cap); color: var(--muted); }
.ptc .pt-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 2px; vertical-align: -1px; }
/* RS 카드 */
.ptc .pt-rscard .pt-card-b { display: flex; flex-direction: column; }
.ptc .pt-rsnow { display: grid; gap: var(--sp-1); justify-items: start; }
.ptc .pt-rsnow .v { font-size: var(--fs-amount); line-height: 1.2; color: var(--navy); }
.ptc .pt-rsnow .v small { font-family: var(--sans); font-size: var(--fs-sub); font-weight: 600; margin-left: 2px; color: var(--ink-2); }
.ptc .pt-rsnow .cap { color: var(--muted); }
.ptc .pt-steps { list-style: none; margin: var(--sp-5) 0 0; padding: 0; }
.ptc .pt-steps li { position: relative; padding: 0 0 var(--sp-4) 28px; font-size: var(--fs-sub); }
.ptc .pt-steps li::before { content: ""; position: absolute; left: 5px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--card); border: 2px solid var(--line-strong); }
.ptc .pt-steps li::after { content: ""; position: absolute; left: 10px; top: 20px; bottom: 0; width: 2px; background: var(--line); }
.ptc .pt-steps li:last-child { padding-bottom: 0; }
.ptc .pt-steps li:last-child::after { display: none; }
.ptc .pt-steps li.on::before { border-color: var(--gold); background: var(--gold); }
.ptc .pt-steps li b { display: block; font-weight: 600; }
.ptc .pt-steps li span { font-size: var(--fs-cap); color: var(--muted); }
.ptc .pt-rscard .pt-cell { margin-top: auto; }
.ptc .pt-rscard .pt-steps { margin-bottom: var(--sp-4); }
/* 비중 · 브랜드 */
.ptc .pt-stack { display: flex; gap: 2px; height: 12px; border-radius: 6px; overflow: hidden; }
.ptc .pt-stack i { display: block; height: 100%; }
.ptc .pt-share, .ptc .pt-brand, .ptc .pt-nt, .ptc .pt-faq { list-style: none; margin: 0; padding: 0; }
.ptc .pt-share { margin-top: var(--sp-4); }
.ptc .pt-share li { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto 72px; align-items: center; gap: var(--sp-3); height: 44px; border-top: 1px solid var(--line); font-size: var(--fs-sub); }
.ptc .pt-share li:first-child { border-top: 0; }
.ptc .pt-share .dot { width: 10px; height: 10px; border-radius: 3px; }
.ptc .pt-share .amt { color: var(--ink-2); font-variant-numeric: tabular-nums; }
.ptc .pt-share .pct { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.ptc .pt-brand li { display: grid; grid-template-columns: 24px 92px minmax(0, 1fr) 124px; align-items: center; gap: var(--sp-3); height: 44px; font-size: var(--fs-sub); }
.ptc .pt-brand .rk { color: var(--muted); font-weight: 700; }
.ptc .pt-brand b { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ptc .pt-brand .bar { height: 8px; border-radius: 4px; background: var(--paper-2); overflow: hidden; }
.ptc .pt-brand .bar i { display: block; height: 100%; border-radius: 4px; background: var(--navy); }
.ptc .pt-brand .amt { text-align: right; color: var(--ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* 표 */
.ptc .pt-tbl { overflow-x: auto; }
.ptc .pt-tbl table { width: 100%; border-collapse: collapse; font-size: var(--fs-sub); }
.ptc .pt-tbl th { padding: 0 var(--sp-3) var(--sp-3); border-bottom: 1px solid var(--line); font-size: var(--fs-cap); font-weight: 600; color: var(--muted); text-align: left; white-space: nowrap; }
.ptc .pt-tbl td { height: 48px; padding: 0 var(--sp-3); border-bottom: 1px solid var(--line); white-space: nowrap; }
.ptc .pt-tbl tr:last-child td { border-bottom: 0; }
.ptc .pt-tbl th.r, .ptc .pt-tbl td.r { text-align: right; }
.ptc .pt-tbl th:first-child, .ptc .pt-tbl td:first-child { padding-left: 0; }
.ptc .pt-tbl th:last-child, .ptc .pt-tbl td:last-child { padding-right: 0; }
.ptc .pt-tbl td b { font-weight: 600; }
.ptc .pt-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-4); }
.ptc .pt-chip { height: 32px; padding: 0 var(--sp-3); border: 1px solid var(--line); border-radius: var(--r-full); background: var(--card); font-size: var(--fs-cap); font-weight: 600; color: var(--ink-2); display: inline-flex; align-items: center; gap: 6px; }
.ptc .pt-chip b { color: var(--navy); }
.ptc .pt-chip.on { border-color: var(--navy); }
.ptc button.pt-chip:hover { background: var(--paper-2); }
.ptc .pt-search { height: 40px; width: 240px; max-width: 100%; padding: 0 var(--sp-4); border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--card); font-size: var(--fs-sub); }
.ptc .pt-dealscard .pt-card-h { align-items: center; }
.ptc .pt-pager { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); margin-top: var(--sp-4); flex-wrap: wrap; }
.ptc .pt-pg { display: flex; gap: 4px; flex-wrap: wrap; }
.ptc .pt-pg button { min-width: 32px; height: 32px; padding: 0 var(--sp-2); border: 1px solid var(--line); border-radius: var(--r-sm); font-size: var(--fs-cap); font-weight: 600; background: var(--card); }
.ptc .pt-pg button.on { background: var(--navy); border-color: var(--navy); color: var(--on-navy); }
/* 오른쪽 열 */
.ptc .pt-side2 { display: grid; gap: var(--gap-block); grid-template-rows: auto 1fr; }
.ptc .pt-side2 .pt-card { display: flex; flex-direction: column; }
.ptc .pt-side2 .pt-card-b { flex: 1; display: flex; flex-direction: column; }
.ptc .pt-nt li { display: flex; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-3) 0; border-top: 1px solid var(--line); font-size: var(--fs-sub); }
.ptc .pt-nt li:first-child { border-top: 0; padding-top: 0; }
.ptc .pt-nt li > span { min-width: 0; }
.ptc .pt-nt em { font-style: normal; font-size: var(--fs-cap); color: var(--muted); white-space: nowrap; }
.ptc .pt-trust { background: var(--paper-2); border: 0; padding: var(--sp-5) var(--pad-card); display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: var(--sp-5); }
.ptc .pt-trust h3 { margin: 0; font-size: var(--fs-body); }
.ptc .pt-trust ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2) var(--sp-7); font-size: var(--fs-cap); color: var(--ink-2); }
.ptc .pt-trust li { position: relative; padding-left: 14px; }
.ptc .pt-trust li::before { content: ""; position: absolute; left: 0; top: 8px; width: 4px; height: 4px; border-radius: 50%; background: var(--muted); }
/* 거래 흐름 (유입 고객) */
.ptc .pt-funnel { display: grid; gap: var(--sp-4); }
.ptc .pt-funnel .pf-l { display: flex; justify-content: space-between; gap: var(--sp-3); font-size: var(--fs-sub); margin-bottom: 6px; }
.ptc .pt-funnel .pf-l b { font-weight: 600; }
.ptc .pt-funnel .pf-l em { font-style: normal; font-weight: 400; color: var(--muted); }
.ptc .pt-funnel .pf-b { height: 12px; border-radius: 6px; background: var(--paper-2); overflow: hidden; }
.ptc .pt-funnel .pf-b i { display: block; height: 100%; border-radius: 6px; background: var(--navy); }
/* 공지·문의: 두 열 */
.ptc .pt-two { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--gap-block); align-items: start; }
.ptc .pt-two > div { min-width: 0; }
.ptc .pt-aside { position: sticky; top: calc(var(--pt-top) + var(--sp-5)); display: grid; gap: var(--gap-block); }
.ptc .pt-aside .pt-card-b { display: flex; flex-direction: column; }
.ptc .pt-aside .pt-btn-line { margin-top: var(--sp-2); }
.ptc .pt-faq li { padding: var(--sp-3) 0; border-top: 1px solid var(--line); font-size: var(--fs-sub); }
.ptc .pt-faq li:first-child { border-top: 0; padding-top: 0; }
.ptc .pt-faq b { display: block; font-weight: 600; }
.ptc .pt-faq span { color: var(--muted); font-size: var(--fs-cap); }
.ptc .pt-trust-s { grid-template-columns: 1fr; gap: var(--sp-3); }
.ptc .pt-trust-s ul { grid-template-columns: 1fr; }
.ptc .comm-wrap { max-width: none; }
.ptc .comm-wrap > .card { border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: none; }
.ptc .comm-wrap [data-act="agcs-send"] { display: flex; width: auto; min-width: 240px; margin-left: auto; justify-content: center; }
/* 로그인 */
.wide.partner.ptc.pt-login { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 100vh; }
.ptc .pt-lg-brand { background: var(--navy); color: var(--on-navy); display: flex; flex-direction: column; justify-content: center; padding: var(--sp-7); }
.ptc .pt-lg-brand .pt-wm svg { height: 32px; }
.ptc .pt-lg-brand .t { margin-top: var(--sp-5); font-size: var(--fs-h3); font-weight: 600; }
.ptc .pt-lg-brand .s { margin-top: var(--sp-1); font-size: var(--fs-sub); color: var(--on-navy-2); }
.ptc .pt-lg-wrap { display: grid; place-items: center; padding: var(--sp-6) var(--gutter); }
.ptc .pt-lg-card { width: 100%; max-width: 440px; padding: var(--sp-6); display: grid; gap: var(--sp-3); }
.ptc .pt-lg-card h2 { margin: 0; font-size: var(--fs-h2); color: var(--navy); }
.ptc .pt-lg-card p { margin: 0 0 var(--sp-2); font-size: var(--fs-sub); }

@media (max-width: 1279px) { .wide.partner.ptc { --pt-side: 220px; --pt-x: 32px; } }
@media (max-width: 1023px) {
  .wide.partner.ptc { --pt-x: var(--gutter); }
  .ptc .pt-side { position: static; width: auto; flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-4); padding: var(--sp-3) var(--gutter); overflow: visible; }
  .ptc .pt-brand { padding: 0; border: 0; }
  .ptc .pt-brand .sub, .ptc .pt-org, .ptc .pt-grp, .ptc .pt-foot { display: none; }
  .ptc .pt-side > .pt-nav, .ptc .pt-side > .pt-grp + .pt-nav { flex-direction: row; }
  .ptc .pt-side { overflow-x: auto; flex-wrap: nowrap; }
  .ptc .pt-nav a { height: 36px; padding: 0 var(--sp-3); }
  .ptc .pt-nav a.on::before { display: none; }
  .ptc .pt-main { margin-left: 0; }
  .ptc .pt-top { position: static; height: auto; }
  .ptc .pt-top-in { flex-wrap: wrap; padding: var(--sp-3) var(--gutter); gap: var(--sp-2) var(--sp-3); }
  .ptc .pt-top .r { flex-wrap: wrap; gap: var(--sp-2) var(--sp-3); }
  .ptc .pt-body { padding: var(--sp-4) var(--gutter) var(--sp-6); gap: var(--sp-4); }
  .ptc .pt-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
  .ptc .pt-row2, .ptc .pt-row11, .ptc .pt-two { grid-template-columns: minmax(0, 1fr); }
  .ptc .pt-aside { position: static; }
  .ptc .pt-trust { grid-template-columns: 1fr; gap: var(--sp-3); }
  .ptc .pt-trust ul { grid-template-columns: 1fr; }
  .wide.partner.ptc.pt-login { grid-template-columns: 1fr; min-height: 0; }
  .ptc .pt-lg-brand { padding: var(--sp-5) var(--gutter); }
}
@media (max-width: 767px) {
  .ptc .pt-kpi .v { font-size: 22px; }
  .ptc .pt-kpi { padding: var(--sp-4); }
  .ptc .pt-ch-w { display: none; }
  .ptc .pt-ch-m { display: block; }
  .ptc .pt-card-h { flex-wrap: wrap; row-gap: var(--sp-2); }
  .ptc .pt-search { width: 100%; }
  .ptc .pt-dealscard .pt-card-h { align-items: stretch; }
  .ptc .pt-tbl th:first-child, .ptc .pt-tbl td:first-child { position: sticky; left: 0; background: var(--card); }
  .ptc .pt-brand li { grid-template-columns: 20px 76px minmax(0, 1fr) auto; gap: var(--sp-2); }
  .ptc .pt-lg-card { padding: var(--sp-5); }
  .ptc .comm-wrap [data-act="agcs-send"] { width: 100%; }
}
.ptc .pt-side2, .ptc .pt-aside { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.ptc .pt-aside .pt-steps { margin-top: 0; }
.ptc .comm-wrap .panel-h { padding: var(--sp-5) var(--pad-card) var(--sp-4); border-bottom: 0; align-items: baseline; }
.ptc .comm-wrap .panel-h h3 { font-size: var(--fs-h3); font-weight: 700; }
/* 매물 상세 일반 공개 (A27, 10-28): 시리얼 사진만 흐림, 눌러도 안 열림 */
.pc-shot.shot-lock { position: relative; overflow: hidden; cursor: default; }
.pc-shot.shot-lock img { filter: blur(8px); transform: scale(1.1); }
.pc-shot.shot-lock span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; }
.pc-spec td .pc-lock { font-size: 12px; margin-left: 6px; }
.pc-spec td .pc-lock { white-space: nowrap; }
/* 제휴 센터 월별 추이: 막대 → 선 그래프 (대표 10-28) */
.ptc .pt-chart .ln { fill: none; stroke: var(--navy); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.ptc .pt-chart .ln-cur { fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-dasharray: 5 5; stroke-linecap: round; }
.ptc .pt-chart .dot { fill: #fff; stroke: var(--navy); stroke-width: 2; }
.ptc .pt-chart .dot-cur { fill: var(--gold); stroke: #fff; stroke-width: 2.5; }
.ptc .pt-chart .vl-cur { fill: var(--gold-ink); }
.ptc .pt-legend i { border-radius: 50%; }
/* 매물 상세 정보 표 정리 (대표 10-28): 모델·구성품은 한 줄 전체, 남은 시간은 마감 옆 작은 글자 */
@media (min-width: 1024px) {
  .pc-spec tr.wide { grid-column: 1 / -1; }
  .pc-spec tr { align-items: baseline; }
  .pc-spec td { line-height: 1.5; }
  .pc-spec .spec-left { margin-left: 8px; font-size: 12.5px; color: var(--muted); white-space: nowrap; }
  .pc-spec .spec-left::before { content: '· '; }
  .pc-spec .spec-left.urgent { color: var(--red-ink); font-weight: 700; }
}
/* 매물 상세 정보: 표 대신 2열 격자. 모델·구성품은 한 줄 전체, 남은 시간은 마감 아래 작은 글자 (대표 10-28) */
.pc-spec .sg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 28px; }
.pc-spec .sg-i { display: flex; align-items: flex-start; gap: 12px; padding: 11px 0; border-top: 1px solid #F0EDE6; font-size: 14px; line-height: 1.5; }
.pc-spec .sg-i:nth-child(-n+2) { border-top: 0; }
.pc-spec .sg-i.w { grid-column: 1 / -1; }
.pc-spec .sg-i .k { flex: none; width: 76px; color: var(--muted); }
.pc-spec .sg-i .v { flex: 1; min-width: 0; color: var(--ink); }
.pc-spec .sg-i .v .pc-lock { white-space: nowrap; }
.pc-spec .spec-left { display: block; margin: 2px 0 0; font-size: 12.5px; color: var(--muted); }
.pc-spec .spec-left::before { content: none; }
.pc-spec .spec-left.urgent { color: var(--red-ink); font-weight: 700; }
.pc-spec .sg-i .k { font-weight: 600; color: var(--ink-2); }
.mo-steps-list .gd-step { text-decoration: none; color: inherit; }
/* 휴대폰 홈 3단계: 가로 3칸 그대로, 아이콘 대신 PC와 같은 사진 (대표 10-28) */
.step3.ph { padding: 0 0 12px; overflow: hidden; }
.step3.ph .st-ph { position: relative; aspect-ratio: 1 / 1; margin-bottom: 8px; background: var(--paper-2); }
.step3.ph .st-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.step3.ph .st-no { position: absolute; left: 6px; top: 6px; font-family: var(--serif); font-size: 11px; font-weight: 700; color: #fff; background: rgba(7,30,69,.82); border-radius: 6px; padding: 1px 6px; }
.step3.ph b { margin-top: 0; padding: 0 6px; }
.step3.ph span:not(.st-no) { display: block; padding: 0 6px; }
/* 휴대폰 바닥글 아래 빈 공간 줄임: 탭바 여백(.phone 88px)과 겹쳐 두 번 비던 것 (대표 10-28) */
@media (max-width: 1023px) { .site-footer { padding-bottom: 20px; } }
/* 휴대폰 왼쪽 위 로고 조금 작게 (대표 10-28): 태그라인 크기에 맞춰 워드마크 폭이 정해져요(fitLogo) */
@media (max-width: 1023px) { .topbar.light .logo .tagline, .topbar:not(.light) .logo .tagline { font-size: 9px; margin-top: 5px; } }
/* 휴대폰 홈 '최근 거래 결과': 카드를 줄여 2장 반이 보이게, 상품명 아래 빈 줄 제거 (대표 10-28) */
@media (max-width: 1023px) {
  .mo-results .tick-card { flex: 0 0 40%; max-width: 180px; border-radius: 14px; }
  .mo-results .tk-ph { aspect-ratio: 1 / 1; border-radius: 14px 14px 0 0; }
  .mo-results .tk-sold, .mo-results .tk-teams { top: 7px; padding: 2px 7px; font-size: 10.5px; }
  .mo-results .tk-sold { left: 7px; } .mo-results .tk-teams { right: 7px; }
  .mo-results .tk-body { padding: 9px 10px 11px; gap: 2px; }
  .mo-results .tk-brand { font-size: 11.5px; }
  .mo-results .tk-name { font-size: 13.5px; min-height: 0; -webkit-line-clamp: 1; }
  .mo-results .tk-hi { padding-top: 6px; }
  .mo-results .tk-hi b { font-size: 18px; }
  .mo-results .tk-hi span { font-size: 11.5px; }
}
@media (max-width: 1023px) { .pg-home .mo-results { padding-top: 22px; } }
/* 최근 거래 결과: '2위보다 더 받았어요' 설명은 제목 아래 한 번만, 카드 안 반복 문구는 뺌 (대표 10-28) */
.mo-res-sub { margin: -6px 0 10px; font-size: 12.5px; color: var(--muted); }
.mo-res-sub b { color: var(--red-ink); font-weight: 700; }
.mo-results .tk-hi span { display: none; }
/* 거래 결과 상세의 +금액: 목록 카드와 같은 빨간색 계열로 (남색 바탕이라 밝은 빨강, 대표 10-28) */
.result-hero .gain, .result-hero .gain b, .result-hero b.gain { color: #FF8A75 !important; }

/* ===== 대표 결정(2026-10-28): 로고 글자와 주요 버튼을 남색 → 블랙(#111111). 금색 O는 그대로. 빅배너(.hero) 안은 그대로 ===== */
:root { --brand: #111111; --brand-hover: #2B2B2B; }
.logo .wm, .topbar.light .logo .wm { color: var(--brand); }
.logo .tagline { color: var(--brand); }
.btn-navy:not(.hero .btn) { background: var(--brand) !important; border-color: var(--brand) !important; color: #fff !important; }
.btn-navy:not(.hero .btn):hover { background: var(--brand-hover) !important; }
.phone.cust .btn-navy:not([href^="#/d/"]):not(.hero .btn),
.phone.cust .btn-gold:not(.hero .btn),
.phone.cust .btn-cta.btn-gold:not(.hero .btn) { background: var(--brand) !important; border-color: var(--brand) !important; box-shadow: 0 8px 20px -10px rgba(0,0,0,.45) !important; }
.phone.cust .btn-navy:not([href^="#/d/"]):not(.hero .btn):hover,
.phone.cust .btn-gold:not(.hero .btn):hover { background: var(--brand-hover) !important; }
.phone.cust .btn-cta.btn-gold:not(.hero .btn) .arr { color: var(--brand) !important; }
.gnb-free { background: var(--brand) !important; box-shadow: 0 8px 20px -10px rgba(0,0,0,.45) !important; }
.gnb-free:hover { background: var(--brand-hover) !important; }
.btn-navy:disabled, .phone.cust .btn-gold:disabled, .phone.cust .btn-navy:disabled { background: #E3E6EC !important; border-color: #E3E6EC !important; color: var(--faint) !important; box-shadow: none !important; }
.gnb .logo .wm, .login-logo .logo .wm, .cs-meaning .cs-word, .wm-head .wm-mini { color: var(--brand) !important; }
.login-logo .logo .tagline, .gnb .logo .tagline { color: var(--brand); }
/* 회원사 로그인·가입(PC): 좁은 창·마우스 스크롤바가 있는 창에서 오른쪽 카드가 밀려 가로로 흔들리던 문제,
   낮은 창에서 로그인 카드가 아래로 쏠려 보이던 문제 (대표 10-28) */
@media (min-width: 1024px) {
  .phone.dl-auth { overflow-x: clip; }
  .phone.dl-auth > :not(.dl-brand):not(.topbar):not(.site-footer),
  .phone.dl-auth:has(.dl-join) > :not(.dl-brand):not(.topbar):not(.site-footer) { width: min(640px, calc(100% - 80px)); min-width: 0; }
  .phone.dl-auth:has(.dl-brand) > .auth:not(.dl-brand):not(.topbar):not(.site-footer) { width: min(440px, calc(100% - 80px)); }
  .phone.dl-auth > .form.j-step1 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .phone.dl-auth .form .input, .phone.dl-auth .auth .input { min-width: 0; width: 100%; box-sizing: border-box; }
  .phone.dl-auth:has(.dl-brand) { grid-template-rows: minmax(32px, 1fr) auto auto minmax(32px, 1fr); }
  .phone.dl-auth > .auth { padding: 28px 32px; gap: 14px; }
  .phone.dl-auth > .auth .demo { padding: 12px 14px; }
  .phone.dl-auth > .auth .demo .chips { gap: 6px; }
  .phone.dl-auth > .auth .demo .chip { padding: 6px 10px; font-size: 12px; min-height: 0; }
}
/* 회원사 가입 1단계: 오른쪽 칸만 2px 내려가고(.field 위 여백), 지역·업력 줄 칸 경계가 위 칸과 어긋나 '기울어' 보이던 것 (대표 10-28) */
@media (min-width: 1024px) {
  .phone.dl-auth > .form.j-step1 > .field { margin: 0 !important; }
  .phone.dl-auth > .form.j-step1 > .grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; margin: 0 !important; }
  .phone.dl-auth > .form.j-step1 > .grid2 > * { margin: 0 !important; min-width: 0; }
}
/* 회원사 가입: 위 단계 막대가 카드보다 16px 안쪽에 있어 위만 오른쪽으로 들어가 보이던 것 → 카드 폭과 같게 (대표 10-28) */
@media (min-width: 1024px) { .phone.dl-auth > .stepper { padding-left: 0 !important; padding-right: 0 !important; } }
/* 회원사 로그인 카드: 제목 글자 위 여백이 아래(시연 상자 아래)보다 넓어 보이던 것 → 눈으로 보이는 위아래 안쪽 여백 같게 (대표 10-28) */
@media (min-width: 1024px) { .phone.dl-auth > .auth { padding: 24px 32px 32px !important; } .phone.dl-auth > .auth > h2 { line-height: 1.25; margin-top: 0; } }
/* 홈 하단 바로가기: "회원사 입점 안내"는 PC에서 둘째 줄로 (대표 10-28). 휴대폰은 한 줄 그대로 */
.ml-2b { font-weight: inherit; }
@media (min-width: 1024px) { .ml-2l .ml-2b { display: block; } }
