/* 회원가입 · 내정보(회원정보 수정) — 예전 사이트(legacy css/modal-style.css .join-box 계열) 배치를 새 디자인 토큰(landeye.css)으로 옮김(2026-10-08) */
.join-wrap { padding: 28px 20px 80px; }
.join-box { margin: 0 auto; width: 600px; max-width: 100%; }
.join-box h1 { margin: 16px 0 22px; text-align: center; font-size: 22px; font-weight: 700; color: var(--ink); }
.join-box .my-meta { display: flex; justify-content: center; gap: 18px; margin: -10px 0 16px; font-size: 13px; color: var(--muted); }
.join-box .my-meta b { color: var(--ink); font-weight: 700; }
/* 내정보 회원 요약(2026-10-22) — 2열 표 모양 */
.my-prof { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: -6px 0 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; overflow: hidden; }
.my-prof > div { display: flex; align-items: center; gap: 10px; padding: 11px 16px; border-bottom: 1px solid var(--line); font-size: 13px; }
.my-prof > div:nth-child(odd) { border-right: 1px solid var(--line); }
.my-prof > div:nth-last-child(-n+2) { border-bottom: 0; }
.my-prof dt { flex: 0 0 auto; min-width: 74px; color: var(--muted); }
.my-prof dd { margin: 0; color: var(--ink); font-weight: 700; word-break: break-all; }
.my-type { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 12px; }
.my-type.gen { background: #eef4ff; color: #2357d6; }
.my-type.corp { background: #fff3e6; color: #c25b00; }
.my-type.adm { background: #fdecec; color: #c62828; }
.my-sns { display: inline-block; margin-left: 5px; padding: 2px 9px; border-radius: 999px; font-size: 12px; border: 1px solid transparent; }   /* 연결된 SNS(2026-10-22) */
.my-sns.kakao { background: #fee500; color: #191919; }
.my-sns.naver { background: #03c75a; color: #fff; }
.my-sns.google { background: #fff; color: #3c4043; border-color: #dadce0; }
@media (max-width: 520px) { .my-prof { grid-template-columns: 1fr; } .my-prof > div { border-right: 0 !important; border-bottom: 1px solid var(--line) !important; } .my-prof > div:last-child { border-bottom: 0 !important; } }
.join-form { margin: 0; padding: 30px 50px 36px; border: 1px solid var(--line); background: #fff; border-radius: var(--radius); }
.join-sns { margin: 0 0 16px; padding: 11px 14px; border: 1px solid #f2d600; background: #fffbd6; color: #3c1e1e; border-radius: 8px; font-size: 14px; font-weight: 600; line-height: 1.5; }   /* 카카오로 온 가입 안내 */
/* 회원가입 단계별로 보이기(2026-10-21) — ① 휴대전화 인증 → ② 비밀번호 → ③ 나머지 */
.step-hide { display: none !important; }
.step-in { animation: joinStepIn .3s ease; }
@keyframes joinStepIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.join-sns.naver { border-color: #03c75a; background: #e9f9f0; color: #035c2c; }   /* 네이버로 온 가입 안내 */
/* 회원 구분(일반 · 기업) 단추 — 가입 첫 단계(2026-10-21) */
.join-type { display: flex; gap: 10px; margin-top: 10px; }
.jt-btn { flex: 1 1 0; height: 52px; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; font-size: 16px; font-weight: 600; color: #374151; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.jt-btn:hover { border-color: var(--primary); }
.jt-btn.on { border-color: var(--primary); background: #eef3ff; color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }
/* 기업 — 비밀번호 칸도 이름표 왼쪽 · 입력칸 오른쪽(기업 정보 칸과 같은 140px 줄) */
.join-input-box.pw-side { display: grid; grid-template-columns: 140px 1fr; column-gap: 12px; align-items: center; }
.join-input-box.pw-side > label { grid-column: 1; grid-row: 1; }
.join-input-box.pw-side > input { grid-column: 2; }
.join-input-box.pw-side > input:first-of-type { margin-top: 0; }
.join-input-box.pw-side > p.msg { grid-column: 2; }
.join-input-box.join-choice .btn-id-num { margin-top: 0; }   /* 회사주소 옆 「주소 검색」 — 이름표 · 입력칸과 한 줄 */
/* 회사주소 — 주소는 여러 줄로 다 보이게(textarea, 내용만큼 늘어남) + 그 아래 상세주소(선택) */
.join-input-box.join-choice.join-addr { align-items: flex-start; }
.join-input-box.join-choice.join-addr > label { padding-top: 13px; }
.addr-col { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.addr-row { display: flex; gap: 10px; align-items: flex-start; }
.addr-row textarea { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 13px 10px; font-size: 13px; line-height: 1.45; color: var(--ink); background: #fff;
    border: 1px solid #dcdcdc; border-radius: 6px; font-family: inherit; outline: none; resize: none; overflow: hidden; }
.addr-row textarea[readonly] { background: #f9fafb; cursor: pointer; }   /* 검색으로만 채움 */
input.sns-fixed[readonly] { background: #f3f4f6; color: #6b7280; cursor: not-allowed; }   /* SNS 에서 받은 이메일 — 고칠 수 없음(2026-10-22) */
.addr-row textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(36,85,230,.12); }
.addr-row textarea::placeholder { color: #9a9a9a; font-weight: 300; }
.join-input-box.join-addr .addr-col input { margin-top: 0; }
.type-hide { display: none !important; }   /* 회원 구분에 맞지 않는 칸(일반 추가 입력 ↔ 기업 정보) */
.join-err { margin: 0 0 16px; padding: 11px 14px; border: 1px solid #f5c2c2; background: #fde8e8; color: #b42318; border-radius: 8px; font-size: 14px; font-weight: 600; }
.join-input-box { position: relative; margin-top: 20px; }
.join-input-box.mt0 { margin-top: 0; }
.join-input-box.mt5 { margin-top: 5px; }
.join-input-box > label { display: block; font-size: 16px; font-weight: 500; color: var(--ink); }
.join-input-box input[type='text'], .join-input-box input[type='password'], .join-input-box input[type='email'], .join-input-box input[type='tel'], .join-input-box select {
    margin-top: 10px; padding: 10px; width: 100%; height: 46px; font-size: 13px; color: var(--ink); background: #fff;
    border: 1px solid #dcdcdc; border-radius: 6px; font-family: inherit; outline: none;
}
.join-input-box input:focus, .join-input-box select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(36,85,230,.12); }
.join-input-box input::placeholder { color: #9a9a9a; font-weight: 300; }
.join-input-box input.input-diable { background: #f7f7f7; color: #666; }
.asterisk { margin-left: 3px; font-size: 16px; font-weight: 300; color: #ff0000; }
.join-input-box p.msg { margin: 5px 0 0; font-size: 13px; font-weight: 400; color: #ff0000; min-height: 0; }
.join-input-box p.msg.ok { color: #1b7f4b; }
.join-input-box p.msg:empty { display: none; }
/* 휴대전화번호(ID) + 인증번호 줄 — 입력칸 옆에 단추(예전 .btn-id-num 130px) */
.row-auth { display: flex; gap: 10px; align-items: flex-end; }
.row-auth input { flex: 1 1 auto; min-width: 0; }
.btn-id-num { flex: 0 0 130px; margin-top: 10px; height: 46px; font-size: 14px; font-weight: 500; color: var(--primary); text-align: center;
    border: 1px solid var(--primary); background: #fff; border-radius: 6px; cursor: pointer; font-family: inherit; }
.btn-id-num:hover { background: #eef3ff; }
.btn-id-num:disabled { color: #9a9a9a; border-color: #dcdcdc; background: #f7f7f7; cursor: default; }
.num-time { position: absolute; right: 150px; bottom: 15px; font-size: 14px; font-weight: 300; color: #9a9a9a; pointer-events: none; }
.row-auth.wrap-time { position: relative; }
/* 지역(시도·시군구) 두 셀렉트 */
.row-region { display: flex; gap: 6px; }
.row-region select { flex: 1 1 0; }
/* 추가 입력(선택) — 라디오 + 소속/직책/연락처 */
.join-input-box.join-bottom { margin-top: 44px; padding-top: 26px; border-top: 1px solid #dcdcdc; text-align: center; }
.join-input-box.join-bottom > label { text-align: left; }
.join-radio-row { margin-top: 12px; text-align: center; }
.join-radio { display: inline-block; margin: 0 14px; font-size: 16px; font-weight: 300; color: var(--ink); }
.join-radio input { vertical-align: middle; margin: 0 6px 0 0; accent-color: var(--primary); }
.join-radio label { display: inline; font-size: 16px; font-weight: 300; }
.join-input-box.join-choice { display: flex; align-items: center; gap: 12px; }
.join-input-box.join-choice > label { flex: 0 0 140px; font-size: 16px; font-weight: 500; white-space: nowrap; }   /* 「회사전화번호」 한 줄(2026-10-21) */
.join-input-box.join-choice input { flex: 1 1 auto; margin-top: 0; }
/* 약관 동의 */
.join-check-box { margin: 25px 2px 0; }
.join-check-all label { font-size: 18px; font-weight: 500; color: var(--ink); }
.join-check-box .check-choice { position: relative; margin-top: 10px; }
.join-check-box .check-choice.input-first { margin-top: 20px; padding-top: 12px; border-top: 1px solid #dcdcdc; }
.join-check label { font-size: 16px; font-weight: 300; color: var(--ink); }
.join-check .sub { display: block; margin: 4px 0 0 24px; font-size: 12px; font-weight: 300; color: var(--muted); }
.join-check-box input[type='checkbox'] { vertical-align: middle; margin: 0 6px 0 0; width: 16px; height: 16px; accent-color: var(--primary); }
.view-cont { position: absolute; top: 3px; right: 0; }
.check-choice.input-first .view-cont { top: 15px; }
.view-cont a { font-size: 14px; font-weight: 300; color: #818181; text-decoration: underline; cursor: pointer; }
/* 약관 동의 — 필수 · 안내 · 선택 표시와 안내 표(2026-10-22, 개인정보 활용 동의서 v1.0) */
.join-check-all .sub { display: block; margin: 4px 0 0 24px; font-size: 12px; color: var(--muted); }
.ag-tag { display: inline-block; margin-right: 6px; padding: 0 6px; border-radius: 4px; font-size: 12px; font-style: normal; font-weight: 600; line-height: 20px; vertical-align: 1px; }
.ag-tag.req { background: #eef4ff; color: #2357d6; }
.ag-tag.info { background: #f1f5f9; color: #475569; }
.ag-tag.opt { background: #f3f4f6; color: #6b7280; }
.ag-notice { padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #f9fafb; }
.ag-notice p { margin: 0; font-size: 14px; color: var(--ink); line-height: 1.6; }
.ag-notice p a { color: var(--primary); text-decoration: underline; }
.ag-notice .sub { margin: 4px 0 0; font-size: 12px; color: var(--muted); }
.ag-tbl { width: 100%; margin: 8px 0 2px; border-collapse: collapse; font-size: 12px; background: #fff; }
.ag-tbl th, .ag-tbl td { padding: 5px 7px; border: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.5; color: #444; }
.ag-tbl th { background: #f3f4f6; font-weight: 600; color: var(--ink); white-space: nowrap; }
.ag-more { margin: 2px 0 0 24px; font-size: 12px; color: var(--muted); }
.ag-more summary { cursor: pointer; color: #818181; text-decoration: underline; width: max-content; }
.ag-more p { margin: 4px 0 0; }
.ag-ch { margin: 6px 0 0 24px; font-size: 13px; color: var(--muted); }
.ag-ch label { margin-left: 12px; font-size: 14px; color: var(--ink); cursor: pointer; }
.ag-hint { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; color: var(--muted); }
.ag-manage { margin-top: 26px; padding-top: 4px; }
/* 약관 동의 묶음 정리(2026-10-22 「보기 좋게」) — 전체 동의 막대 · 필수/선택 머리 · 줄마다 구분선 · 설명은 작은 회색 글씨 · 「전문 보기 · 자세히」는 오른쪽 */
.ag-box { margin-top: 30px; }
.ag-box .join-check-all { display: block; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.ag-box .join-check-all label { font-size: 17px; font-weight: 700; cursor: pointer; }
.ag-box .join-check-all .sub { margin: 5px 0 0 24px; line-height: 1.5; }
.ag-sec { margin: 22px 0 2px; padding: 0 4px; font-size: 13px; font-weight: 700; color: var(--ink); }
.ag-sec span { margin-left: 6px; font-size: 12px; font-weight: 400; color: var(--muted); }
.ag-box .check-choice { margin: 0; padding: 12px 4px; border-bottom: 1px solid #eef0f3; }
.ag-box .check-choice.input-first { margin-top: 0; padding-top: 12px; border-top: 0; }
.ag-box .join-check label { font-size: 15px; font-weight: 400; cursor: pointer; }
.ag-box .view-cont, .ag-box .check-choice.input-first .view-cont { top: 13px; right: 4px; }
.ag-box .view-cont a, .ag-box .ag-more > summary { font-size: 13px; color: #818181; text-decoration: underline; }
.ag-box .ag-more { margin: 0; }
.ag-box .ag-more > summary { position: absolute; top: 13px; right: 4px; list-style: none; }
.ag-box .ag-more > summary::-webkit-details-marker { display: none; }
.ag-box .ag-more[open] { margin-top: 8px; padding: 10px 12px; border-radius: 8px; background: #f8fafc; }
.ag-box .ag-more[open] .ag-tbl { margin-top: 0; }
.join-check-box .check-choice > .sub { display: block; margin: 5px 0 0 24px; font-size: 12px; font-weight: 400; line-height: 1.6; color: var(--muted); }
.ag-box .ag-notice { margin: 12px 0 4px; padding: 14px 16px; border: 1px solid #e3e8f0; border-radius: 10px; background: #f8fafc; }
.ag-box .ag-notice p { font-size: 14px; }
.ag-box .ag-notice .sub { margin-top: 6px; line-height: 1.6; }
.ag-box .ag-tbl { border-radius: 6px; overflow: hidden; }
.ag-box .ag-tbl th { background: #eef2f7; }
.ag-box .ag-tbl-ad { margin: 8px 0 12px; }
.ag-box .ag-ch { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 8px 0 0 24px; }
.ag-box .ag-ch label { margin: 0; padding: 3px 11px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 13px; }
.ag-box .ag-ch label:has(input:checked) { border-color: var(--primary); color: var(--primary); background: #eef4ff; }
.ag-box .ag-ch input[type='checkbox'] { width: 14px; height: 14px; margin: 0 4px 0 0; }
@media (max-width: 640px) { .ag-box .ag-more > summary { position: static; margin: 4px 0 0 24px; } }
/* 내정보 「내 이용권」 — 유료서비스 이용정책 v1.6 의 요금 · 해지 · 환불 기준(2026-10-22) */
.my-plan { margin: 0 0 16px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.my-plan .mp-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.my-plan .mp-head b { font-size: 16px; color: var(--ink); }
.my-plan .mp-head a { font-size: 13px; color: #818181; text-decoration: underline; }
/* 내 이용권 한 줄 — 왼쪽 이름 · 기간 / 가운데 크레딧 / 오른쪽 단추(2026-10-23) */
.my-plan .mp-now { display: flex; align-items: center; gap: 16px; margin: 12px 0 6px; padding: 14px 16px; border: 1px solid #e4eaf6; border-radius: 10px; background: #f8faff; font-size: 14px; color: var(--ink); }
.my-plan .mp-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.my-plan .mp-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.my-plan .mp-title b { margin: 0; font-size: 17px; font-weight: 800; color: var(--ink); }
.my-plan .mp-title .mp-badge { margin-right: 0; }
.my-plan .mp-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; font-size: 13px; color: var(--muted); }
.my-plan .mp-chip { padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.my-plan .mp-chip.warn { background: #fdecec; color: #c62828; }
.my-plan .mp-badge.pause { background: #fff7e6; color: #b45309; }
.my-plan .mp-credit { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 72px; padding: 0 16px; border-left: 1px solid #e4eaf6; border-right: 1px solid #e4eaf6; }
.my-plan .mp-credit small { font-size: 12px; color: var(--muted); }
.my-plan .mp-credit b { font-size: 20px; font-weight: 800; color: var(--primary); line-height: 1.2; }
.my-plan .mp-now .mp-go { flex: none; margin-left: 0; padding: 10px 16px; border-radius: 8px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.my-plan .mp-badge { display: inline-block; margin-right: 8px; padding: 2px 10px; border-radius: 999px; background: #eef4ff; color: #2357d6; font-size: 12px; font-weight: 700; }
.my-plan .mp-muted { color: var(--muted); font-size: 13px; }
.my-plan .mp-sub { margin: 16px 0 0; font-size: 14px; font-weight: 700; color: var(--ink); }
.my-plan .mp-note { margin: 6px 0 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
.my-plan .mp-tbl { margin-top: 8px; }
.my-plan .mp-now b { margin-right: 6px; }
.my-plan .mp-badge.free { background: #f3f4f6; color: #4b5563; }
.my-plan .mp-go { display: inline-block; margin-left: 8px; padding: 4px 12px; border-radius: 6px; background: var(--primary); color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; }
.my-plan .mp-rules { margin-top: 10px; }
.my-plan .mp-rules summary { cursor: pointer; font-size: 13px; color: #818181; text-decoration: underline; width: max-content; }
.my-plan .mp-tbl td { white-space: normal; }
@media (max-width: 520px) { .my-plan { padding: 14px 12px; } .my-plan .mp-tbl { display: block; overflow-x: auto; }
    .my-plan .mp-now { flex-wrap: wrap; } .my-plan .mp-info { flex-basis: 100%; }
    .my-plan .mp-credit { flex-direction: row; gap: 6px; padding: 0; border: 0; } .my-plan .mp-now .mp-go { margin-left: auto; } }
.ag-manage-h { margin: 0; font-size: 16px; font-weight: 700; color: var(--ink); }
.ag-manage-h .sub { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--muted); }
/* 새 약관 · 처리방침 본문(md 원문을 옮긴 것) — 표 · 번호 줄 · 인용 */
.terms-v2 h4 { margin: 10px 0 4px; font-size: 13px; font-weight: 700; color: var(--ink); }
.terms-v2 p { margin: 4px 0; }
.terms-v2 hr { margin: 16px 0; border: 0; border-top: 1px solid var(--line); }
.terms-v2 .terms-ul { margin: 4px 0 8px; padding-left: 18px; list-style: disc; }
.terms-v2 .terms-ul li.sub { margin-left: 16px; list-style: circle; }
.terms-v2 blockquote { margin: 8px 0; padding: 8px 12px; border-left: 3px solid var(--line); background: #f9fafb; }
.terms-v2 .terms-table { overflow-x: auto; margin: 8px 0; }
.terms-v2 table { width: 100%; border-collapse: collapse; font-size: 12px; }
.terms-v2 th, .terms-v2 td { padding: 6px 8px; border: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.6; color: #444; }
.terms-v2 th { background: #f3f4f6; color: var(--ink); font-weight: 600; white-space: nowrap; }
/* 단추 2개(취소/가입하기·확인) + 회원탈퇴 */
.btn-group.join { display: flex; gap: 6px; margin-top: 20px; }
.btn-group.join a, .btn-group.join button { flex: 1 1 0; height: 50px; line-height: 50px; padding: 0; font-size: 16px; font-weight: 500; color: #fff; text-align: center;
    border: 0; border-radius: 6px; cursor: pointer; font-family: inherit; display: block; }
.btn-group.join .btn-confirm { background: var(--primary); }
.btn-group.join .btn-confirm:hover { background: var(--primary-dark); }
.btn-group.join .btn-cancel { background: #b3b3b3; }
.btn-group.join .btn-cancel:hover { background: #9d9d9d; }
.btn-leave { text-align: right; padding: 10px 10px 0; }
.btn-leave a { font-size: 14px; font-weight: 300; color: #818181; text-decoration: underline; cursor: pointer; }
/* 완료 화면(가입 완료·수정 완료·탈퇴 완료) — 예전 .txt-box */
.txt-box { margin: 80px auto 0; width: 460px; max-width: 100%; text-align: center; }
.txt-finish { margin: 0; font-size: 26px; font-weight: 600; color: var(--primary); }
.txt-info { margin: 20px 0; font-size: 18px; font-weight: 300; color: var(--ink); line-height: 1.6; }
.txt-box .btn-group { margin-top: 24px; display: flex; gap: 8px; justify-content: center; }
.btn-big { display: inline-block; width: 220px; height: 50px; line-height: 50px; font-size: 16px; font-weight: 500; color: #fff; background: var(--primary); border-radius: 6px; text-align: center; }
.btn-big.ghost { background: #fff; color: var(--primary); border: 1px solid var(--primary); line-height: 48px; }
/* 약관 내용보기 팝업 */
.terms-modal { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; background: rgba(15,23,42,.45); padding: 20px; }
.terms-modal.open { display: flex; }
.terms-dialog { position: relative; width: 800px; max-width: 100%; max-height: 84vh; overflow: auto; background: #fff; border-radius: 12px; padding: 26px 30px 30px; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.terms-dialog .tm-close { position: absolute; top: 12px; right: 14px; width: 34px; height: 34px; border: 0; background: none; font-size: 26px; line-height: 1; color: #666; cursor: pointer; }
.terms-body h1 { margin: 0 0 14px; font-size: 20px; font-weight: 700; color: var(--ink); text-align: left; }
.terms-body h2 { margin: 18px 0 6px; font-size: 16px; font-weight: 700; color: var(--ink); }
.terms-body h3 { margin: 12px 0 4px; font-size: 14px; font-weight: 700; color: var(--ink); }
.terms-body p, .terms-body li { font-size: 13px; line-height: 1.75; color: #444; font-weight: 400; }
.terms-body ul { margin: 4px 0 8px; padding-left: 14px; list-style: none; }
.terms-body ul ul { padding-left: 16px; }
@media (max-width: 680px) {
    .join-form { padding: 22px 18px 28px; }
    .btn-id-num { flex-basis: 110px; }
    .num-time { right: 128px; }
    .join-radio { margin: 0 8px; font-size: 14px; }
    .view-cont { position: static; display: block; margin: 2px 0 0 24px; }
}
/* 개인정보처리방침 · 이용약관 공개 화면(/privacy · /terms, 2026-10-27) */
.legal-wrap { max-width: 900px; margin: 0 auto; padding: 28px 20px 60px; }
.legal-tabs { display: flex; gap: 6px; margin: 0 0 14px; }
.legal-tabs a { padding: 8px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #4b5563; font-size: 14px; font-weight: 600; text-decoration: none; }
.legal-tabs a.on { border-color: var(--primary); background: var(--primary); color: #fff; }
.legal-box { padding: 26px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.legal-box .terms-body { max-height: none; overflow: visible; }
@media (max-width: 640px) { .legal-wrap { padding: 16px 12px 40px; } .legal-box { padding: 16px 14px; } }
