/* BASIC css start */
/* ===== 회원가입 약관 동의 페이지 리뉴얼 - 1280px ===== */
body { color: #000; font-family: 'Pretendard Variable', 'Pretendard', 'Malgun Gothic', sans-serif; }

#terms { padding: 50px 0 80px; }
#terms .page-body { width: 1280px; margin: 0 auto; }

/* ===== 페이지 타이틀 ===== */
#terms .tit-page { margin-bottom: 30px; }
#terms h4.tit {
    margin-top: 30px;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #111;
    letter-spacing: -0.3px;
}

/* ===== 약관 폼 카드 ===== */
#terms .form-wrap {
    width: 100%;
    margin-top: 24px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding-bottom: 30px;
    box-sizing: border-box;
    overflow: hidden;
}
#terms .form-wrap h3.form-title {
    padding: 20px 30px;
    font-size: 16px;
    font-weight: 700;
    color: #111;
    cursor: pointer;
    background-color: #f8f8f8;
    border-bottom: 1px solid #e0e0e0;
}
#terms .form-wrap h3.form-title strong {
    display: block;
    background: url(/images/common/ico_arrow_up.png) no-repeat right center;
    background-size: 18px auto;
    letter-spacing: -0.3px;
}
#terms .form-wrap h3.form-title.off strong {
    background: url(/images/common/ico_arrow_down.png) no-repeat right center;
    background-size: 18px auto;
}

/* ===== 약관 내용 영역 ===== */
#terms .new-privercy-contract {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}
#terms .new-privercy-contract h3 {
    position: relative;
    font-weight: 700;
    font-size: 15px;
    margin: 28px 0 8px;
    text-align: left;
    color: #111;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f0f0;
}
#terms .new-privercy-contract h3 span { color: #0f6efc; }
#terms .new-privercy-contract h3 .check {
    position: absolute; top: 0; right: 0; width: 70px;
}
#terms .new-privercy-contract h3 .check input { width: 14px; height: 14px; vertical-align: middle; }
#terms .new-privercy-contract h3.w-normal { font-weight: normal; color: #555; }

#terms .new-privercy-contract .p10 { padding: 10px; }
#terms .new-privercy-contract .period { font-size: 14px; font-weight: 700; color: #333; }
#terms .new-privercy-contract p.txt-desc {
    margin-top: 10px; color: #666; font-weight: normal; font-size: 14px; line-height: 1.7;
}
#terms .new-privercy-contract input { vertical-align: middle; }

/* 약관 동의 체크 */
#terms .new-privercy-contract .privercy-chk {
    margin-top: 12px;
    text-align: right;
}
#terms .new-privercy-contract .privercy-chk label { color: #555; font-size: 14px; }

/* ===== 약관 탭 (수집항목/이용목적/보유기간) ===== */
#terms .privercy-contract-tap {
    height: auto;
    margin-bottom: 0;
    border-bottom: 2px solid #141414;
    display: flex;
}
#terms .privercy-contract-tap ul { display: flex; width: 100%; margin: 0; padding: 0; list-style: none; }
#terms .privercy-contract-tap ul li {
    flex: 1;
    text-align: center;
    border: 1px solid #e0e0e0;
    border-bottom: none;
    margin-left: -1px;
    background: #f8f8f8;
}
#terms .privercy-contract-tap ul li.sel {
    background: #fff;
    border-top: 2px solid #141414;
    margin-top: -2px;
}
#terms .privercy-contract-tap ul li a {
    display: block;
    height: 44px;
    line-height: 44px;
    font-size: 14px;
    color: #888;
    font-weight: 600;
}
#terms .privercy-contract-tap ul li.sel a { color: #111; }

/* ===== 약관 텍스트 박스 ===== */
#terms .privercy-contract { margin-top: 0; }
#terms .privercy-contract textarea {
    width: 100%;
    height: 180px;
    color: #555;
    font-size: 13px;
    line-height: 1.7;
    padding: 14px 16px;
    border: 1px solid #e0e0e0;
    border-top: none;
    box-sizing: border-box;
    resize: none;
    background: #fafafa;
    font-family: 'Pretendard Variable', 'Pretendard', 'Malgun Gothic', sans-serif;
}

/* ===== 동의 체크박스 ===== */
#terms .privercy-agree {
    margin: 14px 0 20px;
    padding: 16px 20px;
    background: #f8f8f8;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    font-size: 14px;
}
#terms .privercy-agree label { cursor: pointer; color: #333; }
#terms .privercy-agree input { margin-right: 6px; vertical-align: middle; }

/* ===== 동의하고 가입하기 버튼 ===== */
#terms .btn-agree { margin-top: 30px; }
#terms .btn-agree a,
#terms .page-body .btn-agree a {
    display: block;
    height: 60px;
    line-height: 60px;
    padding: 0;
    background: #141414;
    border-radius: 4px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: background-color 0.2s;
}
#terms .btn-agree a:hover,
#terms .page-body .btn-agree a:hover { background: #333; }

/* ===== 하단 일반 버튼 ===== */
#terms .btn-foot { margin-top: 20px; text-align: center; font-size: 0; line-height: 0; }
#terms .btn-foot a { margin-left: 10px; }

/* ===== 개인정보 수집이용 테이블 ===== */
#terms .tbl {
    width: 100%; padding: 0; margin: 0;
    border-spacing: 0; border-collapse: collapse;
    border-top: 1px solid #d0d0d0;
    border-left: 1px solid #d0d0d0;
}
#terms .tbl caption { display: none; }
#terms .tbl th {
    line-height: 38px; color: #333; font-size: 14px;
    font-weight: 700; background: #f4f4f4; text-align: center;
}
#terms .tbl th, #terms .tbl td {
    height: 38px; padding: 0; margin: 0;
    border-right: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
}
#terms .new-privercy-contract .tbl td { background: #fff; }
#terms .tbl td ul, #terms .tbl td ul li { padding: 0; margin: 0; list-style: none; }
#terms .tbl td ul { width: 70px; margin: 5px auto; }
#terms .tbl td .txt-l { padding: 6px 10px; margin: 0; text-align: left; font-size: 14px; color: #333; }
#terms .tbl td .mr15 { margin-right: 15px; }

/* ===== 약관 동의 체크박스 영역 (chkwrap) ===== */
#chkwrap { border: 1px solid #e0e0e0; background: #fff; border-radius: 4px; overflow: hidden; }
#chkwrap .all-chk {
    height: 52px; line-height: 54px; padding-left: 24px;
    font-size: 15px; font-weight: bold; color: #000;
    border-bottom: 1px solid #e0e0e0; background: #f8f8f8;
}
#chkwrap .all-chk .input-cbox { width: 16px; height: 16px; vertical-align: middle; }
#chkwrap .cont ul::after { clear: both; content: ""; display: block; }
#chkwrap .cont ul { padding: 12px 0 16px; }
#chkwrap .cont ul li {
    float: left; width: 280px; line-height: 22px;
    padding: 8px 0 0 24px; font-size: 14px;
}
#chkwrap .cont ul li a {
    display: inline-block; width: 56px; height: 20px;
    line-height: 20px; margin-top: -2px; font-weight: normal;
    font-size: 12px; border: 1px solid #ccc; background: #f8f8f8; text-align: center;
}
#chkwrap .cont strong { color: #000; }
#chkwrap .cont label { font-weight: bold; font-size: 14px; }
#chkwrap .cont .marketing {
    padding: 12px 0 12px 24px;
    border-top: 1px dashed #e0e0e0;
}
#chkwrap .cont .marketing .mk-wrap { height: 46px; line-height: 48px; }
#chkwrap .cont .marketing .mk-wrap input { margin-top: -1px; }

/* ===== 계약 테이블 ===== */
#terms .contract-tbl { width: 100%; border-spacing: 0; border-collapse: collapse; }
#terms .contract-tbl th,
#terms .contract-tbl td { border: 1px solid #e0e0e0; text-align: center; }
#terms .contract-tbl th {
    padding: 14px 0; background: #f8f8f8;
    font-weight: normal; color: #666; font-size: 14px;
}
#terms .contract-tbl th label { vertical-align: middle; }
#terms .contract-tbl td { color: #000; font-size: 14px; }

.btm-msg { padding-top: 30px; line-height: 1.7; font-size: 14px; color: #666; }
/* BASIC css end */

