/* ============================================================
   인터로지스 약관 렌더링 공통 스타일
   .terms-doc : render.php 가 생성한 약관 HTML 래퍼
   ============================================================ */

.terms-doc {
    color: #2b2f38;
    font-size: 14px;
    line-height: 1.75;
    word-break: keep-all;
    letter-spacing: -0.01em;
}
.terms-doc > .terms-h1:first-child,
.terms-doc > .terms-h.terms-h1:first-child { margin-top: 0; }

/* 제목 계층 */
.terms-doc .terms-h { font-weight: 700; color: #1b1f27; }
.terms-doc .terms-h1 { /* # : 문서 제목 */
    font-size: 22px;
    padding-bottom: 10px;
    border-bottom: 2px solid #2c5cc5;
    margin: 4px 0 18px;
}
.terms-doc .terms-h2 { /* ## : 조 */
    font-size: 17px;
    margin: 26px 0 10px;
    padding-left: 10px;
    border-left: 4px solid #2c5cc5;
}
.terms-doc .terms-h3 { /* ### */
    font-size: 15px;
    margin: 18px 0 8px;
    color: #2c3a55;
}
.terms-doc .terms-h4 { /* #### */
    font-size: 14px;
    margin: 14px 0 6px;
    color: #445;
}

.terms-doc .terms-hr {
    border: 0;
    border-top: 1px dashed #d7dbe3;
    margin: 18px 0;
}

.terms-doc .terms-p { margin: 8px 0; }

/* 리스트 */
.terms-doc .terms-ol,
.terms-doc .terms-ul { margin: 6px 0 6px; padding-left: 22px; }
.terms-doc .terms-ol { list-style: decimal; }
.terms-doc .terms-ul { list-style: disc; }
.terms-doc .terms-ol > li { margin: 6px 0; font-weight: 600; }
.terms-doc .terms-ol .terms-ul > li { font-weight: 400; }
.terms-doc li { margin: 3px 0; }

/* 원문자(①②③)·세부(·) 항목: 마커 숨기고 기호를 본문에 유지 */
.terms-doc .terms-ul-plain { list-style: none; padding-left: 14px; }
.terms-doc .terms-li-circle { color: #333; }
.terms-doc .terms-li-dot { color: #555; padding-left: 8px; }

.terms-doc strong { color: #17356e; font-weight: 700; }

/* 표 */
.terms-doc .terms-table-wrap { overflow-x: auto; margin: 10px 0 14px; }
.terms-doc .terms-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 420px;
}
.terms-doc .terms-table th,
.terms-doc .terms-table td {
    border: 1px solid #dce0e8;
    padding: 7px 10px;
    text-align: left;
    vertical-align: top;
}
.terms-doc .terms-table thead th {
    background: #f2f5fb;
    color: #1b2a4a;
    font-weight: 700;
    white-space: nowrap;
}
.terms-doc .terms-table tbody tr:nth-child(even) td { background: #fafbfd; }

/* ============================================================
   메인 푸터 약관 버튼 바
   ============================================================ */
.footer-terms-bar {
    text-align: center;
    padding: 10px 0 2px;
}
.footer-terms-bar .terms-link-btn {
    display: inline-block;
    margin: 3px 6px;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #37415a;
    background: #f4f6fa;
    border: 1px solid #d9dee8;
    border-radius: 20px;
    cursor: pointer;
    transition: all .15s ease;
}
.footer-terms-bar .terms-link-btn:hover {
    color: #fff;
    background: #2c5cc5;
    border-color: #2c5cc5;
}
.footer-terms-bar .terms-link-btn.is-strong {
    color: #17356e;
    border-color: #b9c6e6;
}
.footer-terms-bar .terms-sep { color: #c7ccd6; margin: 0 2px; }

/* 약관 모달 본문 스크롤 */
.terms-modal .modal-dialog { max-width: 860px; }
.terms-modal .modal-body {
    max-height: 72vh;
    overflow-y: auto;
    padding: 22px 26px;
    background: #fff;
}
.terms-modal .terms-loading {
    text-align: center;
    color: #8a909c;
    padding: 40px 0;
    font-size: 14px;
}

/* 회원가입 약관 동의 박스 */
.terms-agree-box {
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #e2e6ee;
    border-radius: 6px;
    padding: 16px 18px;
    background: #fcfdff;
}
