/* ============================================================
   약관·정책 문서 공용 스타일 — website/terms.html, website/privacy.html
   랜딩(website/index.html)의 GNB·푸터 톤을 그대로 따른다.
   ============================================================ */
:root{--ink:#111111; --ink-soft:#555555; --ink-light:#9a9a9a; --paper:#fdfcfa;}
*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth; scrollbar-gutter:stable; overflow-x:hidden;}
body{font-family:'Pretendard',-apple-system,sans-serif; color:var(--ink); background:var(--paper); line-height:1.8;}
.wrap{max-width:1040px; margin:0 auto; padding:0 24px;}

/* GNB는 assets/gnb.css + assets/gnb.js 공용 파일이 전담한다 — 이 파일엔 두지 않는다 */

/* ---- 본문 ---- */
/* padding은 상하만 지정 — 좌우는 .wrap의 padding:0 24px를 그대로 써야 한다.
   여기서 좌우까지 0으로 덮어쓰면 모바일에서 본문이 화면 끝에 붙어버린다(2026-08-09 지적). */
.legal{padding-top:56px; padding-bottom:80px; max-width:800px;}
.legal-eyebrow{font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300; font-size:20px; color:var(--ink-light); margin-bottom:10px;}
.legal h1{font-size:clamp(24px,4vw,30px); font-weight:700; letter-spacing:-.01em; line-height:1.4;}
.legal-meta{margin-top:14px; font-size:13px; color:var(--ink-light);}
.legal-intro{margin-top:26px; font-size:14.5px; color:var(--ink-soft); word-break:keep-all;}

.legal h2{
  font-size:17px; font-weight:700; color:var(--ink); margin:44px 0 12px;
  padding-top:22px; border-top:1px solid rgba(0,0,0,.1); word-break:keep-all;
}
.legal h3{font-size:14.5px; font-weight:700; color:var(--ink); margin:22px 0 8px;}
.legal p{font-size:14.5px; color:var(--ink-soft); margin-bottom:12px; word-break:keep-all;}
.legal ul,.legal ol{margin:0 0 14px 18px;}
.legal li{font-size:14.5px; color:var(--ink-soft); margin-bottom:7px; word-break:keep-all;}
.legal a{color:var(--ink); text-decoration:underline;}

/* 표 — 좁은 화면에서 가로 스크롤 */
.legal-table-wrap{overflow-x:auto; margin-bottom:16px; -webkit-overflow-scrolling:touch;}
.legal table{border-collapse:collapse; width:100%; min-width:520px; font-size:13.5px;}
.legal th,.legal td{border:1px solid rgba(0,0,0,.12); padding:10px 12px; text-align:left; vertical-align:top; word-break:keep-all;}
.legal th{background:rgba(0,0,0,.03); font-weight:600; color:var(--ink); white-space:nowrap;}
.legal td{color:var(--ink-soft);}

/* 확정 전 항목 표시 — 실제 값이 정해지면 이 표시를 지운다 */
.todo{
  display:inline-block; background:#fff3cd; color:#7a5c00;
  border:1px solid #f0dca0; border-radius:3px;
  padding:1px 7px; font-size:12.5px; font-weight:600; white-space:nowrap;
}
.notice-box{
  margin:24px 0; padding:16px 18px; background:#fff8e6; border:1px solid #f0dca0;
  font-size:13.5px; color:#7a5c00; line-height:1.75; word-break:keep-all;
}

/* ---- 푸터 (랜딩과 동일) ---- */
footer{padding:40px 0 36px; border-top:1px solid rgba(0,0,0,.08);}
.footer-top{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-bottom:22px;}
.footer-brand{display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
.footer-logo{width:128px; height:auto; display:block; opacity:.55;}
.footer-links{display:flex; flex-wrap:wrap; align-items:center; font-size:13px;}
.footer-links a{color:#8a8a8a; text-decoration:none;}
.footer-links a:hover{color:#555;}
.footer-links a:not(:first-child)::before{content:"|"; margin:0 12px; color:rgba(0,0,0,.15);}
.footer-biz{display:flex; flex-wrap:wrap; align-items:center; margin-top:20px; font-size:12px; line-height:1.9; color:#999;}
.footer-biz b{color:#777; font-weight:500; margin-right:4px;}
.footer-biz span:not(:first-child)::before{content:"|"; margin:0 10px; color:rgba(0,0,0,.12);}
.footer-address{margin-top:2px;}
.footer-copy{margin-top:12px; font-size:12px; color:#aaa;}
@media (max-width:640px){
  .footer-top{flex-direction:column; align-items:flex-start;}
  .footer-biz{row-gap:6px; column-gap:14px;}
  .footer-biz span:not(:first-child)::before{content:none;}
}
