/* ═══════════════════════════════════════════════════════════════
   livesinlife.com/policy/ 정책·약관 페이지 공용 스타일 (검토용 초안)
   ═══════════════════════════════════════════════════════════════ */
:root{
  --violet:#6C5CE7; --violet-dark:#5A4BD1; --mint:#00CBA4;
  --violet-tint:#F0EDFF; --mint-tint:#E6FBF6; --navy:#1C1B2E;
  --n0:#FFFFFF; --n50:#F7F7FB; --n100:#ECECF4; --n200:#DCDCE8;
  --n300:#C2C2D2; --n500:#8A8AA0; --n700:#4D4D63; --n900:#1C1B2E;
  --warn-tint:#FFF4E0;
  --font-ui:"Pretendard Variable",Pretendard,system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font-ui);color:var(--n900);background:var(--n0);line-height:1.75;-webkit-font-smoothing:antialiased;font-size:15px}
a{color:inherit}
.wrap{max-width:860px;margin:0 auto;padding:0 24px}

/* 상단 바 */
.pol-top{border-bottom:1px solid var(--n100);background:#fff;position:sticky;top:0;z-index:50}
.pol-top .wrap{display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px}
.pol-top .brand{font-weight:700;font-size:14.5px;color:var(--n900);text-decoration:none;white-space:nowrap}
.pol-top .brand small{color:var(--n500);font-weight:500}
.pol-top nav{display:flex;gap:16px;font-size:13px;color:var(--n700)}
.pol-top nav a{text-decoration:none}
.pol-top nav a:hover{color:var(--violet)}

/* 검토용 초안 리본 */
.draft-ribbon{background:var(--warn-tint);border:1px solid rgba(242,169,59,.5);border-radius:12px;padding:14px 18px;font-size:13px;color:#6B4A00;margin:26px 0;word-break:keep-all;line-height:1.7}
.draft-ribbon b{color:#8A5A00}

/* 문서 본문 */
main{padding:28px 0 80px}
.doc-meta{font-size:13px;color:var(--n500);margin:8px 0 4px}
h1{font-size:27px;font-weight:700;letter-spacing:-.02em;line-height:1.35;word-break:keep-all}
.doc h2{font-size:19px;font-weight:700;margin:40px 0 12px;padding-top:22px;border-top:1px solid var(--n100);word-break:keep-all;line-height:1.45}
.doc h3{font-size:16px;font-weight:700;margin:26px 0 10px;word-break:keep-all}
.doc p{margin:10px 0;word-break:keep-all}
.doc ul,.doc ol{margin:10px 0 10px 22px}
.doc li{margin:5px 0;word-break:keep-all}
.doc blockquote{background:var(--n50);border-left:3px solid var(--violet);border-radius:0 10px 10px 0;padding:14px 18px;margin:14px 0;font-size:14px;color:var(--n700)}
.doc blockquote p{margin:6px 0}
.doc hr{border:0;border-top:1px solid var(--n100);margin:30px 0}
.doc code{font-family:inherit;background:var(--n50);border-radius:6px;padding:1px 6px;font-size:13.5px}
.doc strong{font-weight:700}
.tbl-wrap{overflow-x:auto;margin:14px 0;border:1px solid var(--n100);border-radius:12px}
.doc table{border-collapse:collapse;width:100%;font-size:13.5px;min-width:560px}
.doc th{background:var(--n50);text-align:left;font-weight:600;color:var(--n700);padding:10px 13px;border-bottom:1px solid var(--n100);white-space:nowrap}
.doc td{padding:10px 13px;border-bottom:1px solid var(--n50);vertical-align:top;word-break:keep-all}
.doc tr:last-child td{border-bottom:0}

/* 미확정·개정 대기 배지 */
.open-q{display:inline;font-size:12px;font-weight:700;color:#8A5A00;background:var(--warn-tint);border:1px solid rgba(242,169,59,.5);border-radius:6px;padding:1px 7px;word-break:keep-all}

/* 인덱스 목록 */
.pol-list{list-style:none;margin:26px 0 0}
.pol-list li{border:1px solid var(--n100);border-radius:14px;margin-bottom:10px;transition:border-color .15s}
.pol-list li:hover{border-color:var(--violet)}
.pol-list a{display:block;padding:16px 20px;text-decoration:none}
.pol-list .t{font-weight:700;font-size:15.5px}
.pol-list .d{font-size:13px;color:var(--n700);margin-top:2px;word-break:keep-all}
.pol-list .v{font-size:12px;color:var(--n500);float:right}

/* 푸터 */
.pol-foot{border-top:1px solid var(--n100);padding:26px 0 40px;font-size:12.5px;color:var(--n500);word-break:keep-all}
.pol-foot a{color:var(--n500)}

@media(max-width:600px){
  h1{font-size:22px}
  .doc h2{font-size:17px}
  .pol-top nav{display:none}
  body{font-size:14.5px}
}
@media print{
  .pol-top,.draft-ribbon{display:none}
}


/* ── 공통 푸터 (메인과 동일) ── */
.container{max-width:1120px;margin:0 auto;padding:0 24px}
footer{background:#1C1B2E;color:#C2C2D2;padding:48px 0;font-size:13.5px;margin-top:48px}
.foot-policy{display:flex;flex-wrap:wrap;gap:6px 0;padding-bottom:20px;margin-bottom:26px;border-bottom:1px solid rgba(255,255,255,.09);font-size:13px}
.foot-policy a{color:#C2C2D2;padding:0 14px;position:relative;transition:color .15s;text-decoration:none}
.foot-policy a:first-child{padding-left:0}
.foot-policy a+a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:11px;background:rgba(255,255,255,.16)}
.foot-policy a:hover{color:#fff}
.foot-policy a.em{color:#fff;font-weight:700}
.foot-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end}
.foot-logo img{height:52px;width:auto;display:block}
.foot-legal{line-height:1.9}
.foot-legal span+span::before{content:" \00B7 "}
.foot-legal span.nl::before{content:""}
.foot-legal a{color:inherit}
@media(max-width:768px){
  .foot-legal span{display:block}
  .foot-legal span+span::before{content:""}
  .foot-legal br.lb{display:none}
  .foot-inner{flex-direction:column;align-items:flex-start}
  .foot-logo img{height:42px}
}

/* ── TOP 버튼 (메인과 동일) ── */
.top-btn{position:fixed;right:24px;bottom:24px;z-index:90;width:48px;height:48px;border-radius:50%;border:0;background:#6C5CE7;color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(108,92,231,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,visibility .25s,transform .25s,background .15s;font-family:inherit}
.top-btn.show{opacity:1;visibility:visible;transform:none}
.top-btn:hover{background:#5A4BD1}
@media(max-width:640px){.top-btn{right:16px;bottom:16px;width:44px;height:44px}}
