/* 법령 조문 페이지(law/<약칭>/<조>.html·index.html)와 law.html '법령' 탭. 만드는 곳: tools/build-law-pages.py · law.js(법령 탭)
   사이트 규칙: 컨테이너는 한 겹 — 흰 카드(1px --line, 큰 radius) 안은 소제목·간격으로만 나누고 바탕·테두리 상자를 또 넣지 않는다. 보조 링크는 텍스트(→). */
.lp { padding-top: 28px; padding-bottom: 72px; }
.lp-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--muted); }
.lp-crumbs a { color: var(--body); }
.lp-crumbs a:hover { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.lp-crumbs span[aria-current] { color: var(--muted); }

.lp-head { margin-top: 18px; max-width: 860px; }
.lp-law { font-size: 14px; font-weight: 600; color: var(--muted); }
.lp-law a { color: var(--body); }
.lp-law a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lp-head h1 { margin-top: 6px; font-size: clamp(26px, 3vw, 34px); font-weight: 700; line-height: 1.3; letter-spacing: -.035em; color: var(--text); }
.lp-head h1 span { font-weight: 600; color: var(--accent-ink); }
.lp-meta { margin-top: 10px; font-size: 14px; color: var(--muted); }

.lp-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; margin-top: 26px; }
.lp-main { display: grid; gap: 16px; min-width: 0; }
.lp-side { display: grid; gap: 16px; }

.lp-card { padding: 26px 28px 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.lp-card > h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 19px; font-weight: 700; letter-spacing: -.03em; color: var(--text); }
.lp-card > h2 small { font-size: 13px; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.lp-card > p { margin-top: 10px; font-size: 15px; line-height: 1.8; color: #33373e; }
.lp-fine { margin-top: 14px !important; font-size: 13px !important; line-height: 1.7 !important; color: var(--muted) !important; }
.lp-fine a { color: var(--body); text-decoration: underline; text-underline-offset: 3px; }

.lp-easy > p:first-of-type { font-size: 16px; color: var(--text); }
.lp-future { margin-top: 22px; }
.lp-future b { font-size: 15px; font-weight: 700; color: var(--text); }
.lp-future p { margin-top: 6px; font-size: 14px; line-height: 1.75; color: #33373e; }

/* 원문: 조 → 항 → 호 → 목 들여쓰기 */
.lp-text { margin-top: 16px; font-size: 15px; line-height: 1.85; color: #2b2f35; word-break: keep-all; overflow-wrap: anywhere; }
.lp-text p + p { margin-top: 6px; }
.lp-text .lp-l0 { font-weight: 700; color: var(--text); }
.lp-text .lp-l1 { padding-left: 1.1em; text-indent: -1.1em; margin-left: 0; }
.lp-text .lp-l2 { padding-left: 2.6em; text-indent: -1.5em; }
.lp-text .lp-l3 { padding-left: 4em; text-indent: -1.3em; font-size: 14.5px; }
.lp-text .lp-l0 + .lp-l1, .lp-text .lp-l0 + .lp-l2 { margin-top: 10px; }
.lp-note { margin-top: 10px; font-size: 13px; color: var(--muted); }
.lp-next { margin-top: 16px; }
.lp-next summary { display: flex; align-items: center; min-height: 40px; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--body); }
.lp-next summary:hover { color: var(--text); }
.lp-next[open] summary { color: var(--text); }

/* 연결 목록(안내·판례) */
.lp-links { margin-top: 12px; }
.lp-links li + li { border-top: 1px solid var(--line); }
.lp-links a { display: grid; gap: 3px; padding: 13px 2px; }
.lp-links a span { font-size: 13px; color: var(--muted); }
.lp-links a b { font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--text); }
.lp-links a:hover b { text-decoration: underline; text-underline-offset: 3px; }

.lp-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 4px 2px; }
.lp-pn a { display: grid; gap: 4px; }
.lp-pn a span { font-size: 13px; color: var(--muted); }
.lp-pn a b { font-size: 15px; font-weight: 600; color: var(--text); }
.lp-pn .lp-nextlink { grid-column: 2; text-align: right; }
.lp-pn a:hover b { text-decoration: underline; text-underline-offset: 3px; }

.lp-src .lp-btn { display: inline-flex; align-items: center; min-height: 40px; margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--text); }
.lp-src .lp-btn:hover { text-decoration: underline; text-underline-offset: 3px; }
.lp-src p { font-size: 14px; }
.lp-toc ul { margin-top: 10px; }
.lp-toc li a { display: block; padding: 7px 0; font-size: 14px; font-weight: 600; color: var(--body); }
.lp-toc li a span { font-weight: 400; color: var(--muted); }
.lp-toc li a:hover { color: var(--text); }
.lp-toc li[aria-current] a { color: var(--text); }
.lp-toc li[aria-current] a span { color: var(--body); }
.lp-all { display: inline-flex; align-items: center; min-height: 40px; margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--body); }
.lp-all:hover { color: var(--text); }

/* 법령별 목록 쪽 */
.lp-index { margin-top: 26px; }
.lp-arts li + li { border-top: 1px solid var(--line); }
.lp-arts a { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 4px 18px; padding: 16px 2px; }
.lp-arts .lp-no { grid-row: span 3; font-size: 15px; font-weight: 700; color: var(--text); }
.lp-arts b { font-size: 15px; font-weight: 700; color: var(--text); }
.lp-arts p { font-size: 14px; line-height: 1.7; color: var(--body); }
.lp-arts small { font-size: 12.5px; color: var(--muted); }
.lp-arts a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.lp-tag { margin-left: 8px; font-size: 12.5px; font-style: normal; font-weight: 500; color: var(--muted); white-space: nowrap; }

/* law.html '법령' 탭 (law.js 가 laws.json 으로 그린다) */
.lw-intro { font-size: 15px; line-height: 1.75; color: var(--body); max-width: 760px; }
.lw-tools { margin-top: 18px; }
.lw-law + .lw-law { margin-top: 30px; }
.lw-law-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding-bottom: 10px; border-bottom: 1px solid var(--text); }
.lw-law-head h3 { font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--text); }
.lw-law-head h3 small { margin-left: 8px; font-size: 13px; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.lw-law-head a { font-size: 14px; font-weight: 600; color: var(--body); }
.lw-law-head a:hover { color: var(--text); }
.lw-field { margin-top: 28px; }
.lw-field:first-child { margin-top: 22px; }
.lw-field > h2 { font-size: 15px; font-weight: 700; color: var(--muted); }
.lw-field > p { margin-top: 4px; font-size: 14px; color: var(--muted); }
.lw-field > .lw-law { margin-top: 14px; }
.lw-list li { border-bottom: 1px solid var(--line); }
.lw-list a { display: grid; grid-template-columns: 110px 220px minmax(0, 1fr); gap: 4px 16px; align-items: baseline; padding: 14px 2px; }
.lw-list .lw-no { font-size: 15px; font-weight: 700; color: var(--text); }
.lw-list b { font-size: 15px; font-weight: 600; color: var(--accent-ink); }
.lw-list p { font-size: 14px; line-height: 1.65; color: var(--body); }
.lw-list a:hover b { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.lw-more { margin-top: 10px; font-size: 14px; font-weight: 600; color: var(--body); background: none; border: 0; padding: 4px 0; cursor: pointer; font-family: inherit; }
.lw-more:hover { color: var(--text); }
.lw-empty { padding: 30px 0; text-align: center; font-size: 15px; color: var(--muted); }

@media (max-width: 1080px) {
  .lp-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .lp { padding-top: 18px; padding-bottom: 48px; }
  .lp-card { padding: 20px 18px 22px; border-radius: 16px; }
  .lp-text { font-size: 14.5px; }
  .lp-text .lp-l2 { padding-left: 2.2em; }
  .lp-text .lp-l3 { padding-left: 3.2em; }
  .lp-pn { grid-template-columns: 1fr; gap: 10px; }
  .lp-pn .lp-nextlink { grid-column: 1; }
  .lp-arts a { grid-template-columns: 1fr; }
  .lp-arts .lp-no { grid-row: auto; }
  .lw-list a { grid-template-columns: 1fr; gap: 3px; padding: 13px 0; }
  .lw-list .lw-no { font-size: 14px; }
}

/* 원문 강조: .hl-key · .hl-line · .hl-mark · .hl-legend 는 style.css 공용(판례와 같은 값). 여기서는 조문 카드 안 범례 간격만 */
.lp-card .hl-legend { margin: 12px 0 -4px; }
