/* sb-account — 손님 글 쪽(개인정보처리방침 /personal_policy/ · 공지 /store-move/ — M038 · M039).
   쪽은 테마 틀(Astra · 블록 테마) 그대로 — 글자 크기 · 글꼴 · 폭은 테마를 따른다. 여기서는 표 · 꼬리표 · 링크 색만(.sb-legal 안에서만 · SB\Account\Legal 이 그 쪽에만 싣는다).
   표: 휴대폰에서 칸 셋 이상인 표(.sb-legal-wide)는 줄마다 카드로 쌓는다(칸 이름 = data-label) — 쪽 가로 넘침 0. 혹시 넘치면 표 칸 안에서만 옆으로 민다. */
.sb-legal{ --sl-ink:#3F4437; --sl-muted:#5E6656; --sl-line:#DFE4D6; --sl-wash:#F3F5EE; word-break:keep-all; overflow-wrap:break-word; }
.sb-legal h2{ margin:2.2em 0 .6em; line-height:1.35; }
.sb-legal h3{ margin:1.6em 0 .5em; line-height:1.4; }

/* 제목 위계 · 휴대폰 본문(한얼 2026-11-08 「그 두 쪽만 고침」 — M040 리허설) — 옛 스토어의 Astra 글꼴 설정은 PC 에서 h2 를 51px 로
   (쪽 제목 h1 30px 보다 크다) · 휴대폰(544px 이하)에서 본문을 11px(0.647rem)로 그린다. 이 CSS 는 방침 · 공지 두 쪽에만 실리므로
   그 밖의 Astra 쪽은 그대로다(약관 · 환불은 아래 줄). 크기는 본문 기준 em — PC 본문 17 · h2 22 · h3 19 / 휴대폰 본문 16 · h2 21 · h3 18 · h1 30 */
/* 약관 /agreement/ · 환불 /refund_returns/ 도(한얼 2026-11-08 「약관 · 환불 두 쪽도」) — 본문에 .sb-legal 이 없어 쪽 몸 표지 .sb-legal-page 의
   본문 칸으로 받는다(SB\Account\Legal::wants · 두 쪽은 소제목이 없고 문단뿐) */
.sb-legal-page .entry-content{ word-break:keep-all; overflow-wrap:break-word; }
.sb-legal h2, .sb-legal-page .entry-content h2{ font-size:1.3em !important; font-weight:600 !important; }
.sb-legal h3, .sb-legal-page .entry-content h3{ font-size:1.1em !important; font-weight:600 !important; }
@media (max-width:544px){
  .sb-legal, .sb-legal-page .entry-content{ font-size:16px; }
}
.sb-legal > :first-child{ margin-top:0; }
.sb-legal ul, .sb-legal ol{ margin:.4em 0 1em; padding-left:1.4em; }
.sb-legal li{ margin:.25em 0; }
.sb-legal li > ul, .sb-legal li > ol{ margin:.25em 0 .4em; }
.sb-legal a{ color:inherit !important; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
.sb-legal a:focus-visible{ outline:2px solid var(--sl-ink); outline-offset:2px; border-radius:2px; }
.sb-legal hr{ margin:2em 0; border:0; border-top:1px solid var(--sl-line); }
.sb-legal code{ font-size:.9em; }
.sb-legal-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* 확인 표시 — 검토 중인 판에서만 보인다(라이브 판에는 없다: build_legal.py --final). 주황 · 파랑을 쓰지 않는 노란 꼬리표 */
.sb-legal-todo{ display:inline-block; margin:0 .15em; padding:0 .45em; border:1px solid #D9B85A; border-radius:4px; background:#FFF4D1; color:#4A3B0E;
  font-size:.8em; font-weight:600; line-height:1.6; vertical-align:.08em; white-space:normal; }

/* 표 */
.sb-legal-table{ margin:1em 0 1.4em; max-width:100%; overflow-x:auto; }
.sb-legal table{ width:100%; margin:0; border-collapse:collapse; border-spacing:0; border:0; font-size:.94em; line-height:1.55; table-layout:auto; }
.sb-legal th, .sb-legal td{ padding:.6em .75em; border:0; border-bottom:1px solid var(--sl-line); text-align:left; vertical-align:top; background:none; }
.sb-legal thead th{ border-bottom:1.5px solid var(--sl-ink); font-weight:600; white-space:nowrap; }
.sb-legal tbody th{ width:28%; font-weight:600; background:var(--sl-wash); }
.sb-legal tbody tr:nth-child(odd) td{ background:none; }

@media (max-width:719.98px){
  .sb-legal-wide table, .sb-legal-wide tbody, .sb-legal-wide tr, .sb-legal-wide td{ display:block; width:auto; }
  .sb-legal-wide thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .sb-legal-wide tr{ padding:.5em 0 .6em; border-bottom:1px solid var(--sl-line); }
  .sb-legal-wide tr:first-child{ border-top:1.5px solid var(--sl-ink); }
  .sb-legal-wide td{ padding:.2em .1em; border:0; }
  .sb-legal-wide td::before{ content:attr(data-label); display:block; font-size:.82em; font-weight:600; color:var(--sl-muted); }
  .sb-legal-wide td:first-child{ font-weight:600; }
  .sb-legal tbody th{ width:34%; }
}
