/* BASIC css start */
/* 회원가입 약관 화면 CSS 전체 교체용
   로그인 화면과 같은 글꼴·색상·54px 버튼·8px 모서리.
   약관 표의 가독성을 위해 본문 최대 폭은 680px입니다. */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");

#terms {
    --terms-width:680px;
    --terms-ink:#171717;
    --terms-muted:#777;
    --terms-border:#e3e3e3;
    --terms-radius:8px;
    box-sizing:border-box;
    width:100%;
    max-width:calc(var(--terms-width) + 48px);
    min-width:0;
    margin:0 auto;
    padding:88px 24px 120px;
    background:#fff;
    color:var(--terms-ink);
    font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
    font-size:14px;
    line-height:1.6;
    text-align:left;
    -webkit-font-smoothing:antialiased;
}
#terms *, #terms *::before, #terms *::after { box-sizing:border-box; }
#terms input, #terms textarea, #terms button, #terms a, #terms label,
#terms table, #terms h3, #terms h4 { font-family:inherit; }
#terms a { color:inherit; text-decoration:none; }
#terms .pr-terms-heading { margin:0 0 38px; text-align:center; }
#terms .pr-terms-eyebrow { margin:0 0 14px; padding:0; color:#888; font-size:11px; font-weight:600; letter-spacing:3px; }
#terms #pr-terms-title { margin:0; padding:0; color:var(--terms-ink); font-size:34px; font-weight:750; line-height:1.25; letter-spacing:-1.2px; }
#terms .pr-terms-intro { margin:14px 0 0; padding:0; color:var(--terms-muted); font-size:14px; line-height:1.7; letter-spacing:-.3px; }
#terms .page-body, #terms form, #terms fieldset { display:block; width:100%; min-width:0; margin:0; padding:0; border:0; background:none; }
#terms .pr-terms-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#terms .new-privercy-contract { width:100%; min-width:0; }
#terms .new-privercy-contract h3,
#terms .new-privercy-contract h4.tit { position:relative; margin:30px 0 12px; padding:0; color:var(--terms-ink); font-size:15px; font-weight:650; line-height:1.6; text-align:left; letter-spacing:-.3px; }
#terms .new-privercy-contract h3.w-normal { font-weight:400; }
#terms .new-privercy-contract h3 span { color:inherit; }
#terms .new-privercy-contract h3 .check { position:static; display:inline-block; width:auto; margin-left:12px; color:#666; font-size:12px; }
#terms .privercy-contract { width:100%; min-width:0; margin:0; padding:0; }
#terms .privercy-contract textarea {
    display:block;
    width:100%;
    max-width:100%;
    height:180px;
    margin:0;
    padding:16px 18px;
    border:1px solid var(--terms-border);
    border-radius:var(--terms-radius);
    background:#fafafa;
    color:#555;
    font-size:13px;
    font-weight:400;
    line-height:1.8;
    letter-spacing:-.2px;
    white-space:pre-wrap;
    overflow-wrap:break-word;
    overflow:auto;
    resize:vertical;
}
#terms .privercy-contract textarea:focus-visible { outline:2px solid #555; outline-offset:2px; }
#terms input[type="checkbox"], #terms input[type="radio"] { width:16px; height:16px; margin:0 6px 0 0; padding:0; vertical-align:-3px; accent-color:#171717; cursor:pointer; }
#terms .privercy-agree { display:flex; flex-wrap:wrap; gap:10px 20px; margin:12px 0 28px; padding:0; color:#555; font-size:13px; line-height:1.8; }
#terms .privercy-agree label { cursor:pointer; }
#terms .privercy-agree strong { color:#333; font-weight:600; }
/* 플랫폼에서 생성하는 전체 동의·개별 동의 항목 */
#terms #chkwrap { width:100%; border:1px solid var(--terms-border); border-radius:var(--terms-radius); background:#fff; }
#terms #chkwrap .all-chk { height:auto; min-height:56px; margin:0; padding:16px 20px; border-bottom:1px solid #eee; color:#171717; font-size:15px; font-weight:650; line-height:1.6; }
#terms #chkwrap .all-chk .input-cbox { width:16px; height:16px; }
#terms #chkwrap .cont ul { display:flex; flex-wrap:wrap; gap:12px 20px; margin:0; padding:20px; list-style:none; }
#terms #chkwrap .cont ul::after { content:none; }
#terms #chkwrap .cont ul li { float:none; flex:1 1 260px; width:auto; min-width:0; margin:0; padding:0; list-style:none; color:#555; font-size:13px; line-height:1.8 !important; overflow-wrap:anywhere; }
#terms #chkwrap .cont ul li a { display:inline-flex; align-items:center; justify-content:center; width:auto; min-width:52px; height:auto !important; min-height:26px; margin:0 0 0 6px; padding:3px 8px; border:1px solid #dedede; border-radius:4px; background:#fff; color:#666; font-size:11px; font-weight:400; line-height:1.5 !important; vertical-align:middle; }
#terms #chkwrap .cont ul li a:hover { background:#f7f7f7; border-color:#999; color:#111; }
#terms #chkwrap .cont strong { color:#171717; }
#terms #chkwrap .cont label { font-weight:500; cursor:pointer; }
#terms #chkwrap .cont .marketing { margin:0; padding:16px 20px; border-top:1px solid #eee; color:#666; font-size:13px; line-height:1.8; }
#terms #chkwrap .cont .marketing .mk-wrap { height:auto; min-height:36px; padding:6px 0; line-height:1.8; }
/* 기존 탭 이름과 DOM 순서를 유지하여 플랫폼 탭 동작과 연결 */
#terms .privercy-contract-tap { height:auto; margin:0 0 12px; }
#terms .privercy-contract-tap ul { display:flex; gap:0; margin:0; padding:0; border-bottom:1px solid #ddd; list-style:none; }
#terms .privercy-contract-tap li { float:none; flex:1; min-width:0; margin:0; padding:0; list-style:none; background:none; }
#terms .privercy-contract-tap li a { display:flex; align-items:center; justify-content:center; height:100%; min-height:48px; padding:10px 8px; border-bottom:2px solid transparent; color:#777; font-size:12px; line-height:1.5; text-align:center; word-break:keep-all; overflow-wrap:anywhere; }
#terms .privercy-contract-tap li.sel a { border-bottom-color:#171717; color:#171717; font-weight:650; }
#terms .privercy-contract-tap li a:hover { color:#171717; background:#fafafa; }
/* 약관·개인정보 표: 내용을 숨기지 않고 줄바꿈 */
#terms .tbl, #terms .contract-tbl { width:100%; margin:16px 0; padding:0; border-collapse:collapse; border-spacing:0; table-layout:fixed; font-size:12px; }
#terms .tbl caption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
#terms .tbl th, #terms .tbl td,
#terms .contract-tbl th, #terms .contract-tbl td { height:auto; padding:12px 10px; border:1px solid #e3e3e3; color:#555; font-size:12px; line-height:1.7; letter-spacing:-.2px; text-align:center; vertical-align:middle; word-break:normal; overflow-wrap:anywhere; }
#terms .tbl th, #terms .contract-tbl th { background:#f7f7f7; color:#333; font-weight:600; }
#terms .new-privercy-contract .tbl td { background:#fff; }
#terms .contract-tbl th div { height:auto; line-height:1.7; }
#terms .contract-tbl tbody th { font-weight:400; }
#terms .tbl td ul, #terms .tbl td ul li { width:auto; margin:0; padding:0; list-style:none; }
#terms .tbl td .txt-l { margin:0; padding:0; text-align:left; }
#terms .tbl td .mr15 { display:inline-block; margin-right:15px; }
#terms .btm-msg { padding-top:24px; color:#777; font-size:12px; line-height:1.8; }
/* 로그인 화면과 동일한 버튼 */
#terms .new-btn-area { margin:26px 0 0; padding:0; text-align:center; }
#terms .btn-foot { display:flex; gap:12px; margin:32px 0 0; padding:0; font-size:14px; line-height:1.5; }
#terms .btn-foot a { flex:1; margin:0; }
#terms .new-btn-area a,
#terms a.pr-terms-primary, #terms a.pr-terms-secondary {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:54px;
    padding:14px 20px;
    border:1px solid #171717;
    border-radius:8px;
    font-size:15px;
    font-weight:650;
    line-height:1.5;
    letter-spacing:-.2px;
    text-align:center;
    cursor:pointer;
    transition:background-color .18s ease,border-color .18s ease;
}
#terms .new-btn-area a, #terms a.pr-terms-primary { background:#171717; color:#fff; }
#terms .new-btn-area a:hover, #terms a.pr-terms-primary:hover { background:#333; border-color:#333; }
#terms a.pr-terms-secondary { background:#fff; color:#171717; border-color:#d4d4d4; }
#terms a.pr-terms-secondary:hover { background:#f7f7f7; border-color:#999; }
#terms a:focus-visible, #terms input:focus-visible { outline:2px solid #171717; outline-offset:4px; }
@media(max-width:600px) {
    #terms { padding:48px 22px 72px; }
    #terms #pr-terms-title { font-size:30px; }
    #terms .pr-terms-heading { margin-bottom:30px; }
    #terms .pr-terms-intro { font-size:13px; }
    #terms #chkwrap .all-chk { padding:14px 16px; }
    #terms #chkwrap .cont ul { padding:16px; }
    #terms #chkwrap .cont .marketing { padding:14px 16px; }
    #terms .privercy-contract textarea { padding:14px; }
    #terms .tbl th, #terms .tbl td, #terms .contract-tbl th, #terms .contract-tbl td { padding:9px 6px; }
    #terms .btn-foot { flex-direction:column; }
    #terms .btn-foot .pr-terms-primary { order:-1; }
}
@media(prefers-reduced-motion:reduce) {
    #terms .new-btn-area a, #terms a.pr-terms-primary, #terms a.pr-terms-secondary { transition:none; }
}

/* 가입 버튼 문구 가로·세로 중앙 정렬 */
#terms .new-btn-area a.pr-terms-primary,
#terms .btn-foot a.pr-terms-primary {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:row !important;
    float:none !important;
    height:54px !important;
    min-height:54px !important;
    box-sizing:border-box !important;
    padding:0 16px !important;
    text-align:center !important;
    text-indent:0 !important;
    line-height:1.5 !important;
}
@media(max-width:600px) {
    #terms .btn-foot a.pr-terms-primary { flex:none; }
}

/* BASIC css end */

