/*
 * 이용약관(/terms)·개인정보 처리방침(/privacy). 홈(qz-site) 틀 위에 얹는 본문 모양.
 * .qz-site 의 초기화 규칙(p·h2·ol 의 margin/font-size 0)을 이기도록 모두 .qz-site 를 앞에 붙인다.
 * 관리 화면 미리보기(.cm-legal-preview)도 같은 본문 모양(.qz-legal-body)을 쓴다 — 그쪽 색은 community-console.css 가 맞춘다.
 */

.qz-site .qz-legal-static {
    margin: 0;
    font: inherit;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.qz-site .qz-legal-head {
    align-items: flex-end;
}

.qz-site .qz-legal-head-copy {
    flex: 1 1 320px;
    min-width: 0;
}

.qz-site .qz-legal-tools {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.qz-site .qz-legal-version {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--qz-muted);
}

.qz-site .qz-legal-version[hidden],
.qz-site .qz-legal-print[hidden] {
    display: none;
}

.qz-site .qz-legal-version select {
    height: 32px;
    max-width: 280px;
    padding: 0 30px 0 10px;
    border: 1px solid var(--qz-line);
    border-radius: 8px;
    background: var(--qz-bg-deep);
    color: var(--qz-text);
    font: inherit;
    font-size: 13px;
    color-scheme: dark;
}

.qz-site .qz-legal-print {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid var(--qz-line);
    border-radius: 8px;
    font-size: 13px;
    color: var(--qz-dim);
}

.qz-site .qz-legal-print:hover {
    border-color: var(--qz-accent);
    color: #fff;
}

.qz-site .qz-legal-tabs {
    display: flex;
    gap: 6px;
    margin-top: 16px;
    overflow-x: auto;
    scrollbar-width: none;
}

.qz-site .qz-legal-tabs a {
    flex: 0 0 auto;
    height: 34px;
    padding: 0 16px;
    border: 1px solid var(--qz-line);
    border-radius: 17px;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    color: var(--qz-dim);
}

.qz-site .qz-legal-tabs a:hover {
    color: #fff;
    border-color: #666;
}

.qz-site .qz-legal-tabs a.is-active {
    background: var(--qz-text);
    border-color: var(--qz-text);
    color: #272727;
    font-weight: 600;
}

.qz-site .qz-legal-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
    padding: 12px 16px;
    border: 1px solid rgba(133, 193, 255, .35);
    border-left: 3px solid var(--qz-blue);
    border-radius: 8px;
    background: rgba(133, 193, 255, .07);
    font-size: 13px;
    line-height: 20px;
    color: var(--qz-text);
}

.qz-site .qz-legal-notice[hidden] {
    display: none;
}

.qz-site .qz-legal-notice.is-warn {
    border-color: rgba(255, 214, 80, .35);
    border-left-color: var(--qz-gold);
    background: rgba(255, 214, 80, .06);
}

.qz-site .qz-legal-notice i {
    font-size: 17px;
    color: var(--qz-blue);
}

.qz-site .qz-legal-notice.is-warn i {
    color: var(--qz-gold);
}

.qz-site .qz-legal-notice span {
    flex: 1 1 240px;
    min-width: 0;
}

.qz-site .qz-legal-notice button {
    height: 30px;
    padding: 0 12px;
    border: 1px solid var(--qz-line);
    border-radius: 15px;
    font-size: 12px;
    color: var(--qz-text);
    white-space: nowrap;
}

.qz-site .qz-legal-notice button:hover {
    border-color: var(--qz-accent);
    color: #fff;
}

.qz-site .qz-legal-doc {
    padding: 26px 30px 32px;
}

.qz-site .qz-legal-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.qz-site .qz-legal-empty {
    padding: 40px 0;
    text-align: center;
    font-size: 14px;
    line-height: 22px;
    color: var(--qz-muted);
}

.qz-site .qz-legal-retry {
    margin-top: 12px;
    height: 32px;
    padding: 0 14px;
    border: 1px solid var(--qz-line);
    border-radius: 16px;
    font-size: 13px;
}

.qz-site .qz-legal-retry:hover {
    border-color: var(--qz-accent);
}

/* ------------------------------------------------------------ 본문 */

.qz-legal-body {
    font-size: 14.5px;
    line-height: 1.85;
    color: var(--qz-text, #ddd);
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.qz-site .qz-legal-body .qz-legal-h {
    /* 위에 붙어 따라오는 메뉴 줄(약 41px)에 제목이 가리지 않게 */
    scroll-margin-top: 72px;
    color: #fff;
    font-weight: 700;
    line-height: 1.5;
}

.qz-site .qz-legal-body .qz-legal-h2 {
    margin: 34px 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--qz-line);
    font-size: 18px;
}

.qz-site .qz-legal-body .qz-legal-h3 {
    margin: 24px 0 6px;
    font-size: 15.5px;
}

.qz-site .qz-legal-body .qz-legal-h4 {
    margin: 18px 0 4px;
    font-size: 14.5px;
    color: var(--qz-text);
}

.qz-site .qz-legal-body > :first-child {
    margin-top: 0;
}

.qz-site .qz-legal-body .qz-legal-p {
    margin: 3px 0;
}

.qz-site .qz-legal-body .qz-legal-p.is-item {
    padding-left: 1.5em;
    text-indent: -1.5em;
}

.qz-site .qz-legal-body .qz-legal-p.is-indent {
    margin-left: 1.5em;
}

.qz-site .qz-legal-body .is-spaced {
    margin-top: 14px;
}

.qz-site .qz-legal-body .qz-legal-h.is-spaced {
    margin-top: 30px;
}

.qz-legal-table-wrap {
    margin: 10px 0 12px;
    overflow-x: auto;
}

.qz-legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.6;
}

.qz-legal-table th,
.qz-legal-table td {
    padding: 8px 12px;
    border: 1px solid var(--qz-line, #444);
    text-align: left;
    vertical-align: top;
}

.qz-legal-table th {
    background: var(--qz-chip, #2b2e32);
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
}

/* ------------------------------------------------------------ 목차 */

/* 옆 칸을 본문 높이만큼 늘려야 목차가 끝까지 따라온다(sticky 는 부모 칸 안에서만 움직인다).
   목차는 옆 칸의 마지막에 둔다 — 뒤에 다른 상자가 있으면 따라오는 목차 밑으로 겹쳐 지나간다. */
.qz-site .qz-legal .qz-main-area {
    align-items: stretch;
}

.qz-site .qz-legal-toc {
    position: sticky;
    top: 60px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    background: var(--qz-bg);
}

.qz-site .qz-legal-toc[hidden],
.qz-site .qz-legal-toc-inline[hidden] {
    display: none;
}

.qz-site .qz-legal-toc-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.qz-site .qz-legal-toc-list a {
    display: block;
    padding: 5px 8px 5px 18px;
    border-radius: 6px;
    font-size: 13px;
    line-height: 18px;
    color: var(--qz-muted);
}

.qz-site .qz-legal-toc-list li.is-chapter a {
    padding-left: 8px;
    margin-top: 6px;
    font-weight: 600;
    color: var(--qz-dim);
}

.qz-site .qz-legal-toc-list a:hover {
    background: rgba(255, 255, 255, .04);
    color: var(--qz-accent);
}

.qz-site .qz-legal-toc-inline {
    display: none;
    margin-bottom: 18px;
    padding: 10px 14px;
    border: 1px solid var(--qz-line);
    border-radius: 8px;
}

.qz-site .qz-legal-toc-inline summary {
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: var(--qz-text);
}

.qz-site .qz-legal-toc-inline .qz-legal-toc-list {
    margin-top: 8px;
}

.qz-site .qz-legal-help {
    margin-top: 16px;
}

.qz-site .qz-legal-help li > span i {
    font-size: 13px;
}

.qz-site .qz-legal-help a {
    color: var(--qz-text);
}

.qz-site .qz-legal-help a:hover {
    color: var(--qz-accent);
}

.qz-site .qz-legal-side > .qz-legal-help {
    margin-top: 0;
}

.qz-site .qz-legal-side > .qz-legal-help + .qz-legal-toc {
    margin-top: 16px;
}

@media (max-width: 1199.98px) {
    .qz-site .qz-legal-toc {
        display: none;
    }

    .qz-site .qz-legal-toc-inline:not([hidden]) {
        display: block;
    }
}

@media (max-width: 575.98px) {
    .qz-site .qz-legal-doc {
        padding: 18px 16px 22px;
    }

    .qz-legal-body {
        font-size: 14px;
    }

    .qz-site .qz-legal-version select {
        max-width: 100%;
    }

    .qz-site .qz-legal-tools {
        width: 100%;
    }
}

/* ------------------------------------------------------------ 인쇄 */

@media print {
    .qz-site .qz-header,
    .qz-site .qz-footer,
    .qz-site .qz-floating,
    .qz-site .qz-drawer,
    .qz-site .qz-drawer-backdrop,
    .qz-site .qz-rail,
    .qz-site .qz-crumb,
    .qz-site .qz-legal-tools,
    .qz-site .qz-legal-tabs,
    .qz-site .qz-legal-notice,
    .qz-site .qz-legal-toc-inline,
    .qz-site .qz-legal-side {
        display: none !important;
    }

    .qz-site {
        background: #fff;
        color: #000;
    }

    .qz-site .qz-board-head {
        border-bottom-color: #999;
    }

    .qz-site .qz-board-head h1,
    .qz-site .qz-board-head p,
    .qz-legal-body,
    .qz-site .qz-legal-body .qz-legal-h,
    .qz-site .qz-legal-body .qz-legal-h4 {
        color: #000;
    }

    .qz-site .qz-legal-doc {
        border: 0;
        padding: 0;
    }

    .qz-legal-table th {
        background: #eee;
        color: #000;
    }

    .qz-legal-table th,
    .qz-legal-table td {
        border-color: #999;
    }
}
