@charset "utf-8";
/* ============== 개인정보보호 지침(개인정보 처리방침) 페이지 ============== */

.pv-wrap {
  display: flex;
  align-items: flex-start;
  gap: 3.75rem;
  word-break: keep-all;
}

/* -------------- 목차(좌측 고정) -------------- */
.pv-toc {
  position: sticky;
  top: 7.5rem;
  flex: 0 0 15rem;
  width: 15rem;
  padding: 1.5rem 1.25rem;
  border: 1px solid var(--border-200);
  border-radius: 8px;
  background-color: var(--bg-300);
  font-size: var(--font-size-15);
  line-height: 1.5;
}

.pv-toc h3 {
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--border-300);
  font-size: var(--font-size-16);
  font-weight: var(--font-w-bold);
  color: var(--gray-1b);
}

.pv-toc li + li {
  margin-top: .5rem;
}

.pv-toc a {
  display: block;
  color: var(--gray-333);
  transition: color .2s;
}

.pv-toc .pv-toc-sub {
  padding-left: 1em;
}

.pv-toc a:hover,
.pv-toc a:focus {
  color: var(--primary);
  text-decoration: underline;
}

/* -------------- 본문 -------------- */
.pv-doc {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--font-size-16);
  line-height: 1.75;
  color: var(--gray-333);
}

.pv-head {
  padding-bottom: 1.75rem;
  border-bottom: 2px solid var(--gray-1b);
}

.pv-head h2 {
  margin-bottom: .75rem;
  font-size: var(--font-size-32);
  font-weight: var(--font-w-bold);
  line-height: 1.3;
  color: var(--gray-1b);
}

.pv-head p {
  color: var(--gray-999);
}

.pv-notice {
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--border-200);
  border-left: 4px solid var(--primary);
  border-radius: 4px;
  background-color: var(--bg-300);
  font-size: var(--font-size-15);
}

.pv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.5rem;
}

.pv-actions a,
.pv-actions button {
  display: inline-flex;
  align-items: center;
  height: 2.75rem;
  padding: 0 1.25rem;
  border: 1px solid var(--border-400);
  border-radius: 4px;
  background-color: var(--white);
  font-size: var(--font-size-15);
  color: var(--gray-333);
  cursor: pointer;
  transition: border-color .2s, color .2s;
}

.pv-actions a:hover,
.pv-actions button:hover {
  border-color: var(--primary);
  color: var(--primary);
}

/* -------------- 장 / 절 / 조 -------------- */
.pv-chapter {
  margin-top: 4rem;
  scroll-margin-top: 7.5rem;
}

.pv-chapter > h3 {
  margin-bottom: 1.75rem;
  padding-bottom: .875rem;
  border-bottom: 1px solid var(--border-300);
  font-size: var(--font-size-24);
  font-weight: var(--font-w-bold);
  color: var(--primary);
}

.pv-part {
  margin-top: 2.5rem;
  font-size: var(--font-size-20);
  font-weight: var(--font-w-bold);
  color: var(--gray-1b);
}

.pv-art {
  margin-top: 1.75rem;
}

.pv-art > h5 {
  margin-bottom: .5rem;
  font-size: var(--font-size-18);
  font-weight: var(--font-w-bold);
  color: var(--gray-1b);
}

.pv-art > p {
  margin-top: .5rem;
}

/* -------------- 목록 -------------- */
.pv-list {
  margin-top: .5rem;
}

.pv-list > li {
  display: flex;
  align-items: flex-start;
  margin-top: .4rem;
}

.pv-list > li > .pv-num {
  flex: 0 0 auto;
  min-width: 1.75em;
  padding-right: .35em;
  color: var(--gray-222);
}

.pv-list > li > .pv-txt {
  flex: 1 1 auto;
  min-width: 0;
}

.pv-list .pv-list {
  margin-top: .3rem;
  margin-bottom: .5rem;
}

/* -------------- 첨부 -------------- */
.pv-attach {
  margin-top: 2rem;
  padding: 1.75rem 2rem;
  border: 1px solid var(--border-200);
  border-radius: 6px;
  background-color: var(--bg-300);
}

.pv-attach > summary {
  font-size: var(--font-size-18);
  font-weight: var(--font-w-bold);
  color: var(--gray-1b);
  cursor: pointer;
}

.pv-attach > summary::marker {
  color: var(--primary);
}

.pv-attach .pv-art:first-of-type {
  margin-top: 1.5rem;
}

.pv-sign {
  margin-top: 2.5rem;
  text-align: center;
}

.pv-sign-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem 4rem;
  margin-top: 1.5rem;
  text-align: left;
}

/* -------------- 문의처 -------------- */
.pv-contact {
  margin-top: 4rem;
  padding: 1.75rem 2rem;
  border-top: 2px solid var(--gray-1b);
}

.pv-contact h3 {
  margin-bottom: 1rem;
  font-size: var(--font-size-20);
  font-weight: var(--font-w-bold);
  color: var(--gray-1b);
}

/* -------------- 모바일 -------------- */
@media all and (max-width: 1024px) {
  .pv-wrap {
    display: block;
  }

  .pv-toc {
    position: static;
    width: 100%;
    margin-bottom: 2.5rem;
  }

  .pv-toc ul {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.25rem;
  }

  .pv-toc li + li {
    margin-top: 0;
  }

  .pv-toc .pv-toc-sub {
    padding-left: 0;
  }

  .pv-head h2 {
    font-size: var(--font-size-26);
  }

  .pv-chapter > h3 {
    font-size: var(--font-size-20);
  }

  .pv-attach {
    padding: 1.25rem;
  }

  .pv-table table {
    min-width: 26rem;
  }

  .pv-cols {
    padding: 1rem 1.25rem;
    columns: 2;
  }

  .pv-contact {
    padding: 1.5rem 0 0;
  }
}

/* -------------- 표 -------------- */
.pv-table {
  overflow-x: auto;
  margin-top: 1rem;
}

.pv-table table {
  width: 100%;
  min-width: 30rem;
  border-top: 2px solid var(--gray-1b);
  border-collapse: collapse;
  font-size: var(--font-size-15);
}

.pv-table th,
.pv-table td {
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--border-300);
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}

.pv-table thead th,
.pv-table tbody th {
  background-color: var(--bg-300);
  font-weight: var(--font-w-bold);
  color: var(--gray-1b);
}

/* -------------- 다단 목록(제공받는 자 등) -------------- */
.pv-cols {
  margin-top: .75rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--border-200);
  border-radius: 4px;
  background-color: var(--bg-300);
  columns: 4;
  column-gap: 1.5rem;
  font-size: var(--font-size-15);
}

.pv-cols li {
  padding: .2rem 0;
  break-inside: avoid;
}

/* -------------- 초안 표시 -------------- */
.pv-notice-draft {
  border-left-color: var(--red);
  background-color: #fff6f4;
}

.pv-notice-draft code {
  padding: 0 .25em;
  background-color: var(--bg-200);
  font-family: monospace;
}

.pv-draft .pv-todo {
  padding: 0 .2em;
  border-bottom: 1px dashed var(--red);
  background-color: #fff3ea;
}

/* -------------- 인쇄 -------------- */
@media print {
  #header,
  #footer,
  .sub-tit,
  .pv-toc,
  .pv-actions {
    display: none !important;
  }

  .pv-doc {
    font-size: 11pt;
    color: #000;
  }

  .pv-chapter {
    page-break-inside: avoid;
  }

  .pv-attach {
    border: 0;
    background: none;
  }
}
