/* 모바일 새 화면 공통 스타일 (모바일 ①). 360px 기준, 화면이 넓어도 가운데 360~420px 로 */
/* 아래 여백 96px — 화면 아래 고정 메뉴(zmtm-bottom.inc)가 마지막 버튼을 가리지 않게 */
.zf { width: 100%; max-width: 420px; margin: 0 auto; padding: 0 12px 96px; box-sizing: border-box; font-family: 'Malgun Gothic', sans-serif; font-size: 14px; color: #333; text-align: left; }
.zf h1 { margin: 10px 0 12px; padding: 10px 12px; font-size: 17px; color: #fff; background: #1f4e9c; border-radius: 4px; }
.zf .msg { margin: 8px 0; padding: 8px 10px; border-radius: 4px; font-size: 13px; line-height: 150%; }
.zf .msg.err { color: #c00; background: #fff3f3; border: 1px solid #f2b8b8; }
.zf .msg.ok { color: #06c; background: #f2f7ff; border: 1px solid #b8d0f2; }
.zf .msg.info { color: #555; background: #f7f7f7; border: 1px solid #ddd; }
.zf .field { margin: 0 0 12px; }
.zf .field > label, .zf .field > .lbl { display: block; margin: 0 0 4px; font-weight: bold; font-size: 13px; }
.zf .field .req { color: #c00; margin-left: 2px; }
.zf .field .hint { display: block; margin-top: 3px; font-size: 12px; color: #888; }
.zf input[type=text], .zf input[type=password], .zf input[type=email], .zf input[type=tel], .zf input[type=number], .zf select, .zf textarea {
    width: 100%; height: 40px; padding: 0 10px; box-sizing: border-box; font-size: 15px; border: 1px solid #c8c8c8; border-radius: 4px; background: #fff; }
.zf textarea { height: auto; min-height: 120px; padding: 8px 10px; line-height: 150%; }
.zf .row { display: flex; gap: 6px; align-items: center; }
.zf .row > * { flex: 1 1 0; min-width: 0; }
.zf .row > .sep { flex: 0 0 auto; color: #999; }
.zf .choice { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.zf .choice label { font-weight: normal; font-size: 14px; white-space: nowrap; }
.zf .btn { display: block; width: 100%; height: 46px; margin: 14px 0 6px; border: 0; border-radius: 4px; font-size: 16px; font-weight: bold; color: #fff; background: #1f4e9c; cursor: pointer; text-align: center; line-height: 46px; text-decoration: none; }
.zf .btn.sub { background: #888; }
.zf .links { margin: 10px 0; text-align: center; font-size: 13px; }
.zf .links a { color: #1f4e9c; text-decoration: none; margin: 0 6px; }
.zf .captcha { display: flex; gap: 8px; align-items: center; }
.zf .captcha img { flex: 0 0 auto; border: 1px solid #ccc; cursor: pointer; }
.zf .terms { max-height: 120px; overflow: auto; padding: 8px; border: 1px solid #ddd; background: #fafafa; font-size: 12px; line-height: 150%; }
/* 게시판 (모바일 ②) */
.zb-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 8px 0; margin: 0 0 6px; -webkit-overflow-scrolling: touch; }
.zb-tabs a { flex: 0 0 auto; padding: 6px 12px; border: 1px solid #c8d4ea; border-radius: 16px; font-size: 13px; color: #1f4e9c; text-decoration: none; white-space: nowrap; background: #fff; }
.zb-tabs a.on { color: #fff; background: #1f4e9c; border-color: #1f4e9c; }
.zb-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #ddd; }
.zb-list li { border-bottom: 1px solid #eee; }
.zb-list a { display: block; padding: 10px 2px; color: #333; text-decoration: none; }
.zb-list .t { font-size: 15px; line-height: 140%; word-break: break-all; }
.zb-list .t .notice { display: inline-block; margin-right: 4px; padding: 0 5px; font-size: 11px; color: #fff; background: #c00; border-radius: 3px; vertical-align: 1px; }
.zb-list .t .cc { color: #317dd5; font-size: 13px; }
.zb-list .m { margin-top: 3px; font-size: 12px; color: #999; }
.zb-pager { display: flex; justify-content: space-between; align-items: center; margin: 12px 0; font-size: 14px; }
.zb-pager a { color: #1f4e9c; text-decoration: none; }
.zb-search .row { margin-top: 4px; }
.zb-search .choice { margin-top: 6px; font-size: 13px; }
.zf.zb-post h1.subj { background: none; color: #222; padding: 0; border-radius: 0; margin: 6px 0 4px; font-size: 18px; font-weight: bold; line-height: 140%; word-break: break-all; }
.zb-post .meta { padding-bottom: 8px; border-bottom: 1px solid #ddd; font-size: 12px; color: #888; }
.zb-post .body { padding: 14px 0; font-size: 15px; line-height: 170%; word-break: break-all; }
.zb-post .body img { display: block; max-width: 100%; height: auto; margin: 0 0 10px; }
.zb-nav { border-top: 1px solid #ddd; font-size: 13px; }
.zb-nav a { display: block; padding: 9px 2px; border-bottom: 1px solid #eee; color: #333; text-decoration: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.zb-nav .k { color: #888; margin-right: 8px; }
.zb-cmt { margin-top: 16px; }
.zb-cmt h2 { margin: 0 0 6px; font-size: 15px; }
.zb-cmt .c { padding: 8px 0; border-bottom: 1px solid #eee; font-size: 14px; line-height: 150%; word-break: break-all; }
.zb-cmt .c .who { display: block; margin-top: 2px; font-size: 12px; color: #999; }
.zb-cmt .c form { display: inline; }
.zb-cmt .c button { margin-left: 6px; padding: 1px 8px; font-size: 11px; border: 1px solid #ccc; background: #fff; border-radius: 3px; }
/* 매물 등록·수정 (모바일 ③) — 접히는 구역 */
.zf details.sec { margin: 0 0 10px; border: 1px solid #d5dce8; border-radius: 6px; background: #fff; }
.zf details.sec > summary { padding: 12px; font-weight: bold; font-size: 15px; color: #1f4e9c; background: #f2f6fc; border-radius: 6px; cursor: pointer; list-style: none; }
.zf details.sec > summary::-webkit-details-marker { display: none; }
.zf details.sec > summary::after { content: '▾'; float: right; color: #888; }
.zf details.sec[open] > summary { border-bottom: 1px solid #d5dce8; border-radius: 6px 6px 0 0; }
.zf details.sec[open] > summary::after { content: '▴'; }
.zf details.sec > .in { padding: 12px 12px 2px; }
.zf .opts { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; font-size: 13px; }
.zf .opts label { font-weight: normal; }
.zf .badges { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.zf .badges label { display: inline-flex; align-items: center; gap: 4px; font-weight: normal; }
.zf .thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.zf .thumbs label { width: 96px; text-align: center; font-size: 12px; font-weight: normal; }
.zf .thumbs img { display: block; width: 96px; height: 54px; object-fit: cover; border: 1px solid #ddd; margin-bottom: 2px; }
.zf input[type=file] { width: 100%; font-size: 14px; }
.zf .listing { padding: 10px 12px; margin: 0 0 10px; border: 1px solid #b8d0f2; border-radius: 6px; background: #f2f7ff; font-size: 13px; line-height: 160%; }
/* 판매신청 (모바일 ⑥) */
.zs-cards a { display: flex; gap: 10px; align-items: center; }
.zs-cards img { flex: 0 0 112px; width: 112px; height: 63px; object-fit: cover; border: 1px solid #ddd; }
.zs-cards .p { margin-top: 2px; color: #c00; font-weight: bold; font-size: 14px; }
.zs-spec { width: 100%; border-collapse: collapse; font-size: 14px; }
.zs-spec th { width: 96px; padding: 7px 6px; text-align: left; color: #666; font-weight: normal; background: #f7f9fc; border-bottom: 1px solid #eee; vertical-align: top; }
.zs-spec td { padding: 7px 6px; border-bottom: 1px solid #eee; word-break: break-all; }
.zs-photos img { display: block; width: 100%; height: auto; margin: 0 0 6px; }
/* 5차 점검 (모바일 L-8): 손가락으로 누르는 곳은 높이 44px 이상 — 체크·라디오·댓글 삭제·탭·돌아가기 링크 */
.zf input[type=checkbox], .zf input[type=radio] { width: 20px; height: 20px; margin: 0 6px 0 0; vertical-align: middle; }
.zf .choice label { display: inline-flex; align-items: center; min-height: 44px; }
.zf .opts label { display: flex; align-items: center; min-height: 44px; }
.zf .badges label { min-height: 44px; }
.zf .links a { display: inline-block; padding: 12px 6px; margin: 0; }
.zb-tabs { align-items: center; }
.zb-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; box-sizing: border-box; }
.zb-cmt .c button { min-width: 44px; min-height: 44px; padding: 0 12px; font-size: 13px; }
.zf .zback { display: inline-block; min-height: 44px; line-height: 44px; padding-right: 14px; font-size: 14px; color: #1f4e9c; text-decoration: none; }
.zf .ztap { display: inline-block; min-height: 44px; line-height: 44px; padding: 0 12px; color: #1f4e9c; text-decoration: none; }
/* 5차 점검 (모바일 M-2): 목록 위 게시판 이름 (활성 탭이 화면 밖이어도 어디인지 알 수 있게) */
.zf h1.ztitle { margin-bottom: 4px; }
/* 5차 점검 (모바일 M-1): 판매자 매물 화면의 판매자 프로필 — PC truck-viewsp-user.inc 와 같은 항목 */
.zsel { width: 340px; margin: 8px auto; padding: 10px; border: 1px solid #c9d4e6; border-radius: 6px; background: #f8fafd; text-align: left; font-size: 13px; color: #333; line-height: 150%; font-family: 'Malgun Gothic', sans-serif; }
.zsel .top { display: flex; gap: 10px; }
.zsel .logo { flex: 0 0 84px; width: 84px; height: 92px; object-fit: contain; background: #fff; border: 1px solid #e2e7ef; }
.zsel .who { flex: 1 1 auto; min-width: 0; word-break: break-all; }
.zsel .nm { font-size: 15px; font-weight: bold; color: #0066ff; }
.zsel .k { color: #666; }
.zsel .tel a { color: #d00; text-decoration: none; font-weight: bold; }
.zsel .intro { margin-top: 8px; color: #cc0099; word-break: break-all; }
.zsel .shop { display: block; width: 100%; height: auto; max-height: 200px; margin-top: 8px; object-fit: cover; }
.zsel .lock { margin-top: 8px; padding: 8px 10px; background: #fff8e8; border: 1px solid #f0d9a8; border-radius: 4px; color: #555; }
.zsel .lock a { color: #d00; font-weight: bold; text-decoration: none; }
/* 5차 점검 (모바일 M-4): 딜러 명단·광고 안내·회사 소개·약관 */
.zd-h { margin: 16px 0 8px; padding: 6px 10px; font-size: 15px; font-weight: bold; color: #1f4e9c; background: #eef3fb; border-left: 4px solid #1f4e9c; }
.zd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.zd-card { padding: 8px 6px; border: 1px solid #d5dce8; border-radius: 6px; text-align: center; font-size: 13px; line-height: 150%; word-break: break-all; }
.zd-card img { display: block; width: 100%; height: 110px; object-fit: contain; margin: 0 0 4px; background: #fff; }
.zd-card a { color: #333; text-decoration: none; }
.zd-card a.tel { display: block; min-height: 44px; line-height: 44px; color: #06f; font-weight: bold; }
.zad-box { margin: 0 0 12px; border: 1px solid #b2c0d8; border-radius: 6px; overflow: hidden; text-align: center; }
.zad-box .hd { padding: 10px; font-size: 15px; font-weight: bold; color: #317dd5; background: #ebf5ff; }
.zad-box .sub { padding: 8px; font-size: 14px; font-weight: bold; color: #d00; background: #f0f7ff; }
.zad-box .ln { padding: 8px; border-top: 1px solid #e3e9f3; font-size: 14px; }
.zad-box .pr { color: #d00; font-weight: bold; }
.zad-img { display: block; margin: 0 0 12px; text-align: center; }
.zad-img img { width: 100%; height: auto; border: 1px solid #ddd; }
.zad-img span { display: block; padding: 6px 0; font-size: 12px; color: #1f4e9c; }
.zlegal p { margin: 0 0 8px; font-size: 13px; line-height: 170%; word-break: keep-all; overflow-wrap: anywhere; }
.zlegal p.hd { margin-top: 14px; font-weight: bold; color: #1f4e9c; }
.zpcview { margin: 16px 0 0; text-align: center; font-size: 13px; }
.zpcview a { display: inline-block; min-height: 44px; line-height: 44px; padding: 0 14px; color: #666; }
