/* 목차 스타일 */
#toc {
    display: flex;
    padding: 1.5em 0;
    background-color: var(--text-bg);
    border-radius: 5px;
    flex-direction: column;
    gap: .8em;
}

/* 목차 제목 스타일 */
#toc h2 {
    font-size: 1.2em;
}

/* 목차 리스트 기본 스타일 */
#toc ol {
    margin:0;
    padding: 0 1.5em;
    font-weight: 500;
    word-break: break-all;
    list-style-type: none;
    counter-reset: list-counter;
}

/* 상위 리스트(h2)에 대한 스타일 */
#toc ol > li {
    counter-increment: list-counter;
    position: relative;
    margin-left: 0;
    padding: 0 1em;
    line-height: 1.35;
    font-size: 16px;
}

/* 상위 리스트(h2)의 번호 스타일 */
#toc ol > li::before {
    content: counter(list-counter) ". ";
    position: absolute;
    left: 0;
    top: .3em;
}

/* 하위 리스트(h3)에 대한 스타일 */
#toc ol li ol {
    list-style-type: none;
    counter-reset: sub-counter;
}

/* 하위 리스트(h3)의 항목 */
#toc ol li ol li {
    counter-increment: sub-counter;
    position: relative;
    font-size: 15px;
    padding-left: 1.5em;
}

/* 하위 리스트(h3)의 번호 스타일 */
#toc ol li ol li::before {
    content: counter(sub-counter) ") ";
    position: absolute;
    left: 0;
}

/* 목차 항목 링크 스타일 */
#toc a {
    display: inline-block;
    color: #1f6ec3;
    text-decoration: none;
    padding: .3em 0;
}

#toc a:hover {
    text-decoration: underline;
}

/* 목차 토글 버튼 스타일 */
#toc button {
    border: 0;
    color: #59636d;
    background: none;
    font-size: 1.2em;
    cursor: pointer;
}

/* 본문 내용의 헤딩에는 번호를 적용하지 않음 */
#partner_content h2::before,
#partner_content h3::before {
    content: none;
}