* { box-sizing: border-box; }
body { margin: 0; color: #17191d; font-family: "Malgun Gothic", sans-serif; background: #fff; }
.agreement { width: min(100%, 720px); margin: 0 auto; padding: 24px 18px 40px; }
.agreement h1 { margin: 0 0 24px; font-size: 20px; line-height: 1.5; }
.agreement__content { font-size: 11.2px; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
.agreement__close { width: 100%; height: 48px; margin-top: 32px; border: 0; border-radius: 6px; color: #fff; font-size: 16px; font-weight: 700; background: #17191d; cursor: pointer; }
.term-error { padding: 48px 0; text-align: center; }

/* ---- TermText(DB) 내부 요소 스타일 ---- */
.agreement__content p { margin: 0 0 12px; }
.agreement__content b,
.agreement__content strong { font-weight: 700; }

.agreement__content h3,
.agreement__content h4,
.agreement__content h5 {
    margin: 28px 0 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}
.agreement__content > h3:first-child,
.agreement__content > h4:first-child,
.agreement__content > h5:first-child,
.agreement__content .main-title { margin-top: 0; }

.agreement__content ul,
.agreement__content ol { margin: 0 0 12px; padding-left: 1.1em; }
.agreement__content ul.list-unstyled { list-style: none; padding-left: 0; }
/* 이용약관(rule.html) 유형: 조항 하위 항목을 번호로 표시 */
.agreement__content .ruleDescription > ul { list-style: decimal; padding-left: 1.4em; }
.agreement__content .ruleDescription > ul.list-unstyled { list-style: none; padding-left: 0; }
.agreement__content li { margin: 4px 0; }
.agreement__content dl { margin: 4px 0 12px; }
.agreement__content dd { margin-left: 1em; }

/* 조항 인덱스(북마크) */
.agreement__content .ruleBookmark ul { list-style: none; padding-left: 0; margin: 16px 0; }
.agreement__content .ruleBookmark li { margin: 6px 0; }
.agreement__content .ruleBookmark a { color: #17191d; text-decoration: underline; }

/* 조항 본문 블록 */
/* 폰트 크기는 .agreement__content에서 전체 통일 관리 (termId마다 .ruleDescription 유무가 달라 개별 지정 안 함) */
/* margin은 private.html 유형에서 <p class="ruleDescription">와 <div class="ruleDescription">가 클래스를 공유하므로 div만 지정 */
.agreement__content div.ruleDescription { margin: 20px 0; }
.agreement__content div.ruleDescription:first-child { margin-top: 0; }

/* 표 */
.agreement__content table {
    width: 100%;
    margin: 12px 0;
    border-collapse: collapse;
}
.agreement__content th,
.agreement__content td {
    border: 1px solid #d8dade;
    padding: 8px;
    text-align: left;
    vertical-align: top;
    word-break: keep-all;
}
.agreement__content th,
.agreement__content tr.active th {
    background: #f4f5f7;
    text-align: center;
    font-weight: 700;
}
.agreement__content .align-left { text-align: left; }
.agreement__content .table-align-center,
.agreement__content td.table-align-center { text-align: center; }
.agreement__content .th-02,
.agreement__content .th-03 { text-align: center; }
.agreement__content .min-width-70 { min-width: 70px; }
.agreement__content .min-width-36 { min-width: 36px; }

/* 부트스트랩 그리드 잔재(수집항목 목록 등) 대응 */
.agreement__content .row { margin: 0; }
.agreement__content .row.sub-li { margin: 4px 0 8px 1em; }
.agreement__content .col-xs-12 { padding: 0; }

/* 통신사명/강조 표기 */
.agreement__content .company-name-label,
.agreement__content .company-name-only,
.agreement__content .company-name-only-step,
.agreement__content .notice-bold { font-weight: 700; }
