/* 검색 아키타입 (모바일 재구성) — SC-M10 · SC-M12 …
 *
 * "동명이인은 최근 방문일·담당·고객번호로 구분한다 — 잘못 고르면 남의 이력에 기록이 쌓인다" (캔버스).
 * 그러니 이름은 결과가 아니라 질문이다. 결과 한 줄에 구분 근거를 다 붙인다.
 * 표를 접는 게 목적이 아니라 고를 수 있게 만드는 게 목적이다.
 *
 * 중복 후보는 금전이 걸린 판단이라(포인트·회원권 합산) 결과에 섞지 않고 위로 뺀다.
 * 클래스는 .q / .hit / .dup 로 (.blk .grid .open .row .card 는 이미 쓰인다).
 */

.m--search .head { background: #fff; }

.m--search .q { display: flex; gap: .4rem; padding: .6rem .9rem .35rem; }
.m--search .box { flex: 1; min-height: 46px; display: flex; align-items: center; padding: 0 .7rem;
                  border: 1px solid var(--live); box-shadow: inset 0 0 0 1px rgba(15,95,86,.2);
                  font-size: 1rem; font-weight: 600; }
.m--search .cur { display: inline-block; width: 1.5px; height: 1.1em; background: var(--live);
                  margin-left: 2px; }
.m--search .go { min-height: 46px; padding: 0 1rem; border: 0; background: var(--live); color: #fff;
                 font: inherit; font-size: .86rem; font-weight: 700; cursor: pointer; }
.m--search .hint { margin: 0 .9rem .5rem; font-size: .68rem; color: var(--ink-3); line-height: 1.5; }

.m--search .filt { display: flex; gap: .25rem; padding: 0 .9rem .55rem; overflow-x: auto; }
.m--search .filt button { flex: none; height: 30px; padding: 0 .65rem; border-radius: 999px;
                          border: 1px solid var(--grid); background: #fff; font: inherit;
                          font-size: .74rem; color: var(--ink-2); cursor: pointer; }
.m--search .filt button.on { background: var(--ink); border-color: var(--ink); color: #fff;
                             font-weight: 600; }

.m--search .plan { background: var(--sheet); }

/* 중복 후보 — 결과에 섞지 않는다 */
.m--search .dup { display: block; margin: .7rem .9rem .6rem; padding: .6rem .75rem;
                  background: #fdf1ee; border-left: 3px solid var(--alert);
                  text-decoration: none; color: inherit; }
.m--search .dup .hd { display: block; font-size: .86rem; font-weight: 700; color: var(--alert);
                      letter-spacing: -.02em; }
.m--search .dup .s { display: block; font-size: .72rem; color: #6d4038; line-height: 1.55;
                     margin-top: .2rem; }
.m--search .dup .s b { font-weight: 700; }
.m--search .dup .s.warn { color: #8a5a4e; }

.m--search h2 { display: flex; align-items: baseline; gap: .35rem; margin: .3rem .9rem .4rem;
                font-size: .7rem; font-weight: 700; letter-spacing: .08em; color: var(--ink-3); }
.m--search h2 i { font-style: normal; font-weight: 500; letter-spacing: 0; }

/* 결과 한 건 — 구분 근거를 다 붙인다 */
.m--search .hit { display: block; padding: .6rem .9rem .65rem; background: #fff;
                  border-bottom: 1px solid var(--grid-2); text-decoration: none; color: inherit; }
.m--search .nm { display: flex; align-items: baseline; gap: .35rem; flex-wrap: wrap;
                 font-size: 1rem; font-weight: 700; letter-spacing: -.025em; }
.m--search .nm em { font-style: normal; font-size: .68rem; font-weight: 500; color: var(--ink-3); }
.m--search .tag { font-style: normal; font-size: .62rem; font-weight: 600; padding: .05rem .3rem;
                  background: var(--sheet); color: var(--ink-2); border: 1px solid var(--grid); }
.m--search .tag.warn { background: #fdfaf2; color: var(--wait-pay); border-color: #e8d9ae; }
.m--search .tag.bad { background: var(--alert); color: #fff; border-color: var(--alert); }
.m--search .tag.dim { color: var(--ink-3); }
.m--search .tel { display: block; font-size: .78rem; color: var(--ink-2); margin-top: .15rem; }
.m--search .tel em { font-style: normal; font-size: .66rem; color: var(--alert); font-weight: 600; }
.m--search .meta { display: block; font-size: .72rem; color: var(--ink-2); margin-top: .1rem; }
.m--search .meta b { font-weight: 700; color: var(--ink); }
.m--search .has { display: block; font-size: .72rem; color: var(--live); font-weight: 600;
                  margin-top: .1rem; }
.m--search .has em { font-style: normal; font-weight: 400; color: var(--ink-3); }
.m--search .has.none { color: var(--ink-3); font-weight: 400; }
.m--search .hit.same { border-left: 3px solid var(--wait-pay); }
.m--search .hit.dupe { border-left: 3px solid var(--alert); background: #fdf9f8; }

.m--search .fine { margin: .6rem .9rem 0; font-size: .68rem; color: var(--ink-3); line-height: 1.55; }
.m--search .fine b { color: var(--ink-2); font-weight: 600; }
.m--search .new { display: block; margin: .7rem .9rem 0; min-height: 44px; line-height: 44px;
                  text-align: center; border: 1px solid var(--live); color: var(--live);
                  font-size: .84rem; font-weight: 700; text-decoration: none; background: #fff; }
.m--search .kx { opacity: .72; }
.m--search .fine a { color: var(--live); font-weight: 700; }
