/**
 * terms.css
 * clinical-trial-policy(ko-kr), privacy-policy(en-us) 등에 로드됨
 * .termsWrap--formatted 으로 스코프 제한
 */

/* 드롭다운 박스와 아래 본문 간격 150px */
.termsWrap--formatted .cpnt_controlLine {
    margin-bottom: 150px;
}

/* Selectric 드롭다운: terms용 ul 패딩 제외, 회색 배경이 왼쪽 끝까지 채워지도록 */
.termsWrap--formatted .selectric-items ul {
    padding-left: 0;
}

/* 기본 줄간격: li와 동일하게 1.75 */
.termsWrap--formatted p,
.termsWrap--formatted .descTop,
.termsWrap--formatted .descMid,
.termsWrap--formatted .termsItem,
.termsWrap--formatted table th,
.termsWrap--formatted table td {
    line-height: 1.75;
}

/* li 넘버링 표시 - 글로벌 reset(font-size:0) 덮어쓰기, DB 콘텐츠도 적용 */
.termsWrap--formatted ul,
.termsWrap--formatted ol {
    font-size: 1rem;
}
.termsWrap--formatted li {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: -0.02px;
    color: #666;
}
.termsWrap--formatted ul {
    list-style: disc;
    padding-left: 1.5rem;
}
.termsWrap--formatted ol {
    list-style: decimal;
    padding-left: 1.5rem;
}
.termsWrap--formatted ul.type_01,
.termsWrap--formatted ol.type_01 {
    list-style: decimal;
}
/* li 마커 표시 - 전역 reset(li list-style:none) 덮어쓰기 */
/* 불릿: ul (type_01 제외) */
.termsWrap--formatted ul:not(.type_01) li {
    list-style-type: disc;
}
/* 번호: ul.type_01, ol */
.termsWrap--formatted ul.type_01 li,
.termsWrap--formatted ol li {
    list-style-type: decimal;
}

/* 테이블 공통: 셀 패딩 10px */
.termsWrap--formatted table th,
.termsWrap--formatted table td {
    padding: 10px;
}

/* thead 하단에 tbody와 동일한 연한 회색 선 */
.termsWrap--formatted table thead th {
    border-bottom: 1px solid #cfcfcf;
}

/* 테이블 100% 너비, 2행2열 이상은 상단 테두리만 */
.termsWrap--formatted table {
    width: 100%;
    border-top: 0.125rem solid #111;
    border-left: none;
    border-right: none;
    border-bottom: none;
}

/* 셀 1개(1행 1열)일 때: 상하좌우 테두리 모두 */
.termsWrap--formatted table:has(tbody tr:only-child td:only-child):not(:has(thead)),
.termsWrap--formatted table:has(thead tr:only-child th:only-child):not(:has(tbody)) {
    border: 0.125rem solid #111;
}

/* h4 안 글자: 셀트리온 산스 적용 */
.termsWrap--formatted h4,
.termsWrap--formatted h4 * {
    font-family: 'CelltrionSans', Pretendard, sans-serif;
}

/* 이미지: 세로 190px, 나란히 가로 정렬, 텍스트는 오른쪽으로 흐르도록 float */
.termsWrap--formatted img {
    width: auto;
    height: 190px;
    object-fit: contain;
    float: left;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}
/* float 이후 섹션 정리 (h4, 테이블 등 새 블록 시작 시) */
.termsWrap--formatted h4,
.termsWrap--formatted .titleMid,
.termsWrap--formatted table {
    clear: both;
}

/* ===== en-us privacy 전용 (html.en 에서만 적용, ko-kr clinical 미적용) ===== */
/* Article별 번호 리셋 */
html.en .termsWrap--formatted h4 {
    counter-reset: articleRoman;
}
/* 프라이버시 최상위 리스트: I, II, III... (h4 다음, p 있든 없든) */
html.en .termsWrap--formatted h4 + ol:not(li ol) > li,
html.en .termsWrap--formatted h4 + p + ol:not(li ol) > li,
html.en .termsWrap--formatted h4 + ul.type_01:not(li ul) > li,
html.en .termsWrap--formatted h4 + p + ul.type_01:not(li ul) > li {
    counter-increment: articleRoman;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
html.en .termsWrap--formatted h4 + ol:not(li ol) > li::before,
html.en .termsWrap--formatted h4 + p + ol:not(li ol) > li::before,
html.en .termsWrap--formatted h4 + ul.type_01:not(li ul) > li::before,
html.en .termsWrap--formatted h4 + p + ul.type_01:not(li ul) > li::before {
    content: counter(articleRoman, upper-roman) ". ";
    flex-shrink: 0;
    padding-right: 0.35em;
}
/* 넘버링과 본문 한 줄에 배치 */
html.en .termsWrap--formatted h4 + ol:not(li ol) > li > p:first-child,
html.en .termsWrap--formatted h4 + ol:not(li ol) > li > span:first-child,
html.en .termsWrap--formatted h4 + p + ol:not(li ol) > li > p:first-child,
html.en .termsWrap--formatted h4 + p + ol:not(li ol) > li > span:first-child,
html.en .termsWrap--formatted h4 + ul.type_01:not(li ul) > li > p:first-child,
html.en .termsWrap--formatted h4 + ul.type_01:not(li ul) > li > span:first-child,
html.en .termsWrap--formatted h4 + p + ul.type_01:not(li ul) > li > p:first-child,
html.en .termsWrap--formatted h4 + p + ul.type_01:not(li ul) > li > span:first-child {
    flex: 1 1 0;
    min-width: 0;
}
/* p/span 첫 블록: margin 초기화로 줄맞춤 일관 */
html.en .termsWrap--formatted h4 + ol:not(li ol) > li > p,
html.en .termsWrap--formatted h4 + p + ol:not(li ol) > li > p,
html.en .termsWrap--formatted h4 + ul.type_01:not(li ul) > li > p,
html.en .termsWrap--formatted h4 + p + ul.type_01:not(li ul) > li > p {
    margin: 0;
}
/* 중첩 리스트(ol/ul)는 항상 다음 줄에, 전체 너비로 */
html.en .termsWrap--formatted h4 + ol:not(li ol) > li > ol,
html.en .termsWrap--formatted h4 + ol:not(li ol) > li > ul,
html.en .termsWrap--formatted h4 + p + ol:not(li ol) > li > ol,
html.en .termsWrap--formatted h4 + p + ol:not(li ol) > li > ul,
html.en .termsWrap--formatted h4 + ul.type_01:not(li ul) > li > ol,
html.en .termsWrap--formatted h4 + ul.type_01:not(li ul) > li > ul,
html.en .termsWrap--formatted h4 + p + ul.type_01:not(li ul) > li > ol,
html.en .termsWrap--formatted h4 + p + ul.type_01:not(li ul) > li > ul {
    flex-basis: 100%;
    width: 100%;
    margin-top: 0.5em;
}
/* 중첩 리스트(li 안의 ol): 1, 2, 3, 4... */
html.en .termsWrap--formatted li ol li,
html.en .termsWrap--formatted li ul.type_01 li {
    list-style-type: decimal;
    counter-increment: unset;
}
html.en .termsWrap--formatted li ol li::before,
html.en .termsWrap--formatted li ul.type_01 li::before {
    content: none;
}
