/* ==========================================================
 * 성암 STAR — 개인정보처리방침 페이지 스타일 (assets/css/privacy.css)
 * privacy/index.php 의 전체 페이지 모드와 팝업(?embed=1) 모드가 함께 사용한다.
 * 수정 시 privacy/index.php 의 $assetVer 값을 갱신할 것.
 * ========================================================== */

/* ---------- 공통 레이아웃 ---------- */
.pv-page-body {
    background: var(--bg-page, #f1f5f9);
    margin: 0;
    padding: 0;
    font-family: var(--font-family, 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif);
}
.pv-embed-body {
    background: var(--surface-color, #fff);
    margin: 0;
    padding: 0;
    font-family: var(--font-family, 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif);
}

.pv-container { max-width: 980px; margin: 0 auto; padding: 28px 20px 48px; }
.pv-embed-wrap { padding: 22px 24px 32px; }

/* ---------- 전체 페이지 헤더 ---------- */
.pv-header {
    display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,.1));
    padding: 20px 24px;
    margin-bottom: 20px;
}
.pv-header-logo { height: 54px; width: auto; flex-shrink: 0; }
.pv-header-text { flex: 1 1 260px; }
.pv-title {
    margin: 0; font-size: 1.5rem; font-weight: 800;
    color: var(--primary-dark, #022c22); letter-spacing: -0.5px;
}
.pv-subtitle { margin: 4px 0 0; font-size: 0.85rem; font-weight: 600; color: var(--text-muted, #64748b); }
.pv-header-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.pv-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--primary-color, #064e3b); color: #fff;
    border: 1px solid var(--primary-color, #064e3b);
    border-radius: var(--radius-sm, 6px);
    padding: 9px 14px; font-size: 0.83rem; font-weight: 700;
    text-decoration: none; cursor: pointer;
    font-family: inherit;
    transition: var(--transition, all .25s ease);
}
.pv-btn:hover { background: var(--accent-hover, #059669); border-color: var(--accent-hover, #059669); }
.pv-btn-ghost { background: #fff; color: var(--primary-color, #064e3b); }
.pv-btn-ghost:hover { background: var(--primary-light, #ecfdf5); color: var(--primary-dark, #022c22); }

.pv-card {
    background: var(--surface-color, #fff);
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,.1));
    padding: 32px 34px;
}
.pv-foot {
    text-align: center; margin-top: 18px;
    font-size: 0.76rem; font-weight: 600; color: var(--text-muted, #64748b);
}

/* ---------- 방침 본문 ---------- */
.pv-doc { color: var(--text-color, #1e293b); font-size: 0.9rem; line-height: 1.75; }
.pv-doc a { color: var(--accent-color, #047857); font-weight: 600; }

.pv-lead {
    background: var(--primary-light, #ecfdf5);
    border-left: 4px solid var(--accent-color, #047857);
    border-radius: 0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;
    padding: 14px 18px; margin: 0 0 26px;
    font-size: 0.88rem; line-height: 1.8;
}

.pv-art { margin-bottom: 30px; }
.pv-art > h3 {
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary-light, #ecfdf5);
    font-size: 1.06rem; font-weight: 800; color: var(--primary-dark, #022c22);
}
.pv-art p { margin: 0 0 10px; }

.pv-ol, .pv-ul { margin: 0 0 10px; padding-left: 22px; }
.pv-ol > li, .pv-ul > li { margin-bottom: 7px; }
.pv-ol { list-style: decimal; }
.pv-ul { list-style: disc; }
.pv-ol .pv-ul, .pv-ul .pv-ul { margin-top: 7px; margin-bottom: 0; }

.pv-note {
    font-size: 0.82rem; color: var(--text-muted, #64748b);
    background: #f8fafc; border: 1px dashed var(--border-color, #cbd5e1);
    border-radius: var(--radius-sm, 6px);
    padding: 10px 13px; margin: 10px 0 0 !important;
    line-height: 1.7;
}
.pv-highlight {
    background: var(--primary-light, #ecfdf5);
    border: 1px solid var(--accent-color, #047857);
    border-radius: var(--radius-sm, 6px);
    padding: 12px 16px; font-size: 0.92rem;
}
/* 확정 전 자리표시자 — 값이 채워지면 span 자체를 제거할 것 */
.pv-ph {
    background: #fef3c7; color: #92400e; font-weight: 700;
    border-radius: 4px; padding: 1px 5px;
}
.pv-sub { display: inline-block; font-size: 0.76rem; color: var(--text-muted, #64748b); font-weight: 600; }
.pv-doc code {
    background: #f1f5f9; border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 4px; padding: 1px 5px; font-size: 0.84em;
}

/* ---------- 표 ---------- */
.pv-table-wrap { overflow-x: auto; margin: 12px 0; -webkit-overflow-scrolling: touch; }
.pv-table {
    width: 100%; min-width: 520px;
    border-collapse: collapse;
    font-size: 0.83rem; line-height: 1.65;
    background: var(--surface-color, #fff);
}
.pv-table th, .pv-table td {
    border: 1px solid var(--border-color, #cbd5e1);
    padding: 9px 11px; text-align: left; vertical-align: top;
}
.pv-table thead th {
    background: var(--primary-light, #ecfdf5);
    color: var(--primary-dark, #022c22);
    font-weight: 800; white-space: nowrap;
}
.pv-table tbody td:first-child { font-weight: 700; background: #fbfdfc; }

/* ---------- 부록(체크리스트 대조표) ---------- */
.pv-appendix {
    margin-top: 36px; padding-top: 24px;
    border-top: 2px dashed var(--border-color, #cbd5e1);
}
.pv-appendix > h3 { color: var(--accent-color, #047857); }

/* ---------- 반응형 ---------- */
@media (max-width: 640px) {
    .pv-container { padding: 16px 12px 32px; }
    .pv-card { padding: 20px 16px; }
    .pv-embed-wrap { padding: 16px 14px 24px; }
    .pv-header { padding: 16px; gap: 12px; }
    .pv-title { font-size: 1.25rem; }
    .pv-header-actions { width: 100%; }
    .pv-doc { font-size: 0.86rem; }
}

/* ---------- 인쇄 ---------- */
@media print {
    @page { size: A4 portrait; margin: 14mm; }
    .no-print, .pv-header-actions { display: none !important; }
    .pv-page-body, .pv-embed-body { background: #fff !important; }
    .pv-container { max-width: none; padding: 0; }
    .pv-card, .pv-header { border: none; box-shadow: none; padding: 0; }
    .pv-art { page-break-inside: avoid; }
    .pv-table-wrap { overflow: visible; }
    .pv-table { min-width: 0; font-size: 8.5pt; }
    .pv-doc { font-size: 9.5pt; line-height: 1.55; }
}
