@charset "utf-8";

/* ==========================================================================
   내용관리(약관·개인정보처리방침 등) — SPIDO 다크 톤 문서 레이아웃
   본문은 가독성을 위해 PC에서 폭을 좁게 유지한다
   ========================================================================== */

#ctt {
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 52px) clamp(22px, 3.5vw, 46px);
    border: 1px solid var(--spido-line, #2a2a2e);
    border-radius: var(--spido-radius-lg, 14px);
    background: var(--spido-surface, #101012);
    color: var(--spido-text-sub, #b6b6bc);
    font-size: .95rem;
    line-height: 1.85;
}

/* 제목 영역도 본문 폭에 맞춰 정렬한다 (미지원 브라우저는 전체 폭 유지) */
#container:has(#ctt) .spido-page__head {
    max-width: 860px;
    margin-inline: auto;
}

#ctt header h1 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

.ctt_admin {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: right;
}

.ctt_admin a {
    color: var(--spido-text-dim, #75757a);
}

.ctt_admin a:hover {
    color: var(--spido-accent, #4d8dff);
}

#ctt_con {
    padding: 0;
    line-height: inherit;
    word-break: keep-all;
    overflow-wrap: normal;
    line-break: strict;
}

/* 관리자가 입력한 HTML 본문 요소들 */
#ctt_con > *:first-child {
    margin-top: 0;
}

#ctt_con h1,
#ctt_con h2,
#ctt_con h3,
#ctt_con h4 {
    margin: 42px 0 14px;
    color: var(--spido-text, #f4f4f4);
    font-weight: 700;
    line-height: 1.4;
}

#ctt_con h1 { font-size: 1.5rem; }
#ctt_con h2 { font-size: 1.3rem; }
#ctt_con h3 { font-size: 1.12rem; }
#ctt_con h4 { font-size: 1rem; }

#ctt_con p {
    margin: 0 0 16px;
}

#ctt_con strong,
#ctt_con b {
    color: var(--spido-text, #f4f4f4);
    font-weight: 700;
}

#ctt_con em,
#ctt_con i {
    color: var(--spido-text-dim, #85858b);
}

#ctt_con a {
    color: var(--spido-accent, #4d8dff);
    text-decoration: underline;
    text-underline-offset: 3px;
}

#ctt_con ul,
#ctt_con ol {
    margin: 0 0 18px;
    padding-left: 22px;
    list-style: revert;
}

#ctt_con li {
    margin: 0 0 8px;
    list-style: inherit;
}

#ctt_con hr {
    display: block;
    height: 1px;
    margin: 34px 0;
    border: 0;
    background: var(--spido-line-soft, #232327);
}

#ctt_con blockquote {
    margin: 0 0 18px;
    padding: 16px 20px;
    border-left: 2px solid var(--spido-accent, #4d8dff);
    background: var(--spido-surface-2, #17171a);
}

#ctt_con table {
    width: 100%;
    margin: 0 0 20px;
    border-collapse: collapse;
    background: transparent;
}

#ctt_con th,
#ctt_con td {
    padding: 12px 14px;
    border: 1px solid var(--spido-line-soft, #2a2a2e);
    text-align: left;
}

#ctt_con th {
    background: var(--spido-surface-2, #17171a);
    color: var(--spido-text, #f4f4f4);
    font-weight: 700;
}

/*
   관리자가 붙여넣은 본문에 흰 배경/검은 글자 인라인 스타일이 남아 있어도
   다크 배경에서 글자가 사라지지 않도록 강제로 되돌린다
*/
#ctt_con [style*="background"] {
    background-color: transparent !important;
}

#ctt_con [style*="color"] {
    color: inherit !important;
}

#ctt_con font {
    color: inherit !important;
}

#ctt_con img {
    max-width: 100%;
    height: auto;
}

.ctt_img {
    text-align: center;
}

@media (max-width: 767px) {
    #ctt {
        padding: 24px 18px;
        font-size: .92rem;
    }

    #ctt_con h1 { font-size: 1.3rem; }
    #ctt_con h2 { font-size: 1.16rem; }

    #ctt_con table {
        display: block;
        overflow-x: auto;
    }
}
