/* policy.css — 약관·정책(개인정보처리방침 / 이용약관) · offices 탭 스타일 계승 + 문서 레이아웃 */

.pl { padding: 120px 0 160px; }

/* 탭 (offices 탭과 동일 톤) */
.pl_tabs {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    gap: 30px; width: fit-content; max-width: 100%; margin: 0 auto;
    padding: 12px 50px; border-radius: 50px; background: rgba(193, 204, 210, .1);
}
.pl_tab {
    display: inline-flex; align-items: center; gap: 10px; height: 36px;
    font-size: 22px; font-weight: 600; letter-spacing: -0.44px; line-height: 1.5;
    color: rgba(47, 58, 66, .5); white-space: nowrap;
    background: none; border: 0; padding: 0; margin: 0; cursor: pointer; font-family: inherit;
}
.pl_tab_dot { width: 7px; height: 7px; background: rgba(47, 58, 66, .5); flex: 0 0 auto; }
.pl_tab.is-on { color: #2f3a42; }
.pl_tab.is-on .pl_tab_dot { background: #2f3a42; }
.pl_tab:hover { color: #2f3a42; text-decoration: none; }
.pl_tab:hover .pl_tab_dot { background: #2f3a42; }

/* 패널(탭 전환) */
.pl_panels { position: relative; margin-top: 70px; }
.pl_panel { display: block; }
.pl_panel[hidden] { display: none; }

/* 문서 카드 */
.pl_head { text-align: center; padding-bottom: 34px; margin-bottom: 44px; border-bottom: 1px solid #e7e9ec; }
.pl_title { font-size: 34px; font-weight: 700; letter-spacing: -0.68px; color: #1b1f24; line-height: 1.3; }
.pl_updated { margin-top: 14px; font-size: 16px; color: #8a949b; letter-spacing: -0.32px; }

/* 문서 본문 — 가독형(에디터/HTML 출력) */
.pl_body {
    max-width: 1000px; margin: 0 auto; color: #3a4149;
    font-size: 17px; line-height: 1.85; letter-spacing: -0.34px;
    word-break: keep-all; overflow-wrap: break-word;
}
.pl_body > *:first-child { margin-top: 0; }
.pl_body > *:last-child { margin-bottom: 0; }
.pl_body h3 {
    margin: 40px 0 14px; padding-left: 14px; position: relative;
    font-size: 20px; font-weight: 700; color: #1b1f24; letter-spacing: -0.4px; line-height: 1.5;
    border-left: 4px solid #2f3a42;
}
.pl_body h4 { margin: 26px 0 10px; font-size: 18px; font-weight: 600; color: #22272c; }
.pl_body p { margin: 0 0 14px; }
.pl_body ul, .pl_body ol { margin: 0 0 18px; padding-left: 1.3em; }
.pl_body li { margin: 0 0 8px; }
.pl_body ul li { list-style: disc; }
.pl_body ol li { list-style: decimal; }
.pl_body strong, .pl_body b { font-weight: 700; color: #1b1f24; }
.pl_body a { color: #2f3a42; text-decoration: underline; }
.pl_body table { width: 100%; border-collapse: collapse; margin: 0 0 18px; }
.pl_body th, .pl_body td { border: 1px solid #e2e5e8; padding: 12px 14px; text-align: left; vertical-align: top; }
.pl_body th { background: #f5f7f8; font-weight: 600; color: #22272c; }

/* ===================== 반응형 ===================== */
@media (max-width: 1024px) {
    .pl { padding: 90px 0 120px; }
    .pl_panels { margin-top: 50px; }
    .pl_tabs { gap: 18px; padding: 10px 28px; }
    .pl_tab { font-size: 18px; height: 32px; }
    .pl_title { font-size: 28px; }
    .pl_updated { font-size: 15px; }
    .pl_body { font-size: 16px; }
    .pl_body h3 { font-size: 18px; }
}
@media (max-width: 768px) {
    .pl { padding: 70px 0 90px; }
    .pl_panels { margin-top: 40px; }
    .pl_tabs { gap: 14px; padding: 9px 20px; }
    .pl_tab { font-size: 16px; }
    .pl_head { padding-bottom: 24px; margin-bottom: 32px; }
    .pl_title { font-size: 24px; }
    .pl_updated { font-size: 14px; margin-top: 10px; }
    .pl_body { font-size: 15px; line-height: 1.8; }
    .pl_body h3 { font-size: 17px; margin: 30px 0 12px; }
    .pl_body th, .pl_body td { padding: 10px; }
}
@media (max-width: 486px) {
    .pl_tabs { gap: 10px; padding: 8px 16px; width: 100%; box-sizing: border-box; }
    .pl_tab { font-size: 14px; gap: 7px; }
    .pl_title { font-size: 20px; }
    .pl_updated { font-size: 13px; }
    .pl_body { font-size: 14px; }
    .pl_body h3 { font-size: 16px; }
}
