/* 사이트 틀(머리글·바닥글·처음 화면·안내 페이지). 색과 글꼴은 page.css의 값을 그대로 씁니다. */
.site-head{
  max-width:46rem;margin:0 auto clamp(28px,5vw,44px);
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;
  padding-bottom:14px;border-bottom:1px solid var(--line);
}
.site-name{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.site-nav{display:flex;gap:16px;font-size:14.5px}
.site-nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.site-nav a:hover{color:var(--accent);border-color:var(--accent)}
.site-foot{
  max-width:46rem;margin:clamp(44px,7vw,68px) auto 0;padding-top:18px;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:8px;font-size:13.5px;color:var(--muted);
}
.site-foot nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.site-foot a{color:var(--muted)}
.home-intro{gap:12px}
.site-title{margin:0;font-size:inherit;font-weight:400;line-height:inherit}  /* 대문에서만 사이트 이름을 h1로 감쌈(모양은 다른 페이지와 같게) */
.home-intro p{font-size:17px;max-width:40rem}
.page-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.page-list a{display:grid;gap:2px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.page-list a:hover .pl-title{color:var(--accent)}
.pl-eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.pl-title{font-weight:700;font-size:18px;line-height:1.4}
.pl-desc{font-size:15px;color:var(--muted)}
.pl-meta{font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.empty{color:var(--muted)}
.doc{display:flex;flex-direction:column;gap:14px;max-width:41rem}
.doc h1{font-size:clamp(26px,5vw,34px);font-weight:700;line-height:1.3}
.doc h2{font-size:20px;margin-top:12px}
.doc ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.doc table{border-collapse:collapse;width:100%;font-size:15px}
.doc th,.doc td{border-bottom:1px solid var(--line);padding:8px 10px 8px 0;text-align:left;vertical-align:top}
.doc th{font-weight:600}
.doc-meta{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}
/* 판례집 이어 보기: 판정 아래(분야·관련 판정·근거 법령), 분야 목차, 법령별 모아 보기, 처음 화면 분야 */
.vlinks{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:20px}
.vl-field,.vl-laws{font-size:14.5px;color:var(--muted)}
.vl-field a,.vl-laws a{color:var(--ink)}
.vl-title{font-size:18px}
.vl-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.vl-list a{color:var(--ink);font-weight:600}
.vl-why{display:block;font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.hub{display:grid;gap:10px}
.hub h1{font-size:clamp(26px,5vw,34px);font-weight:700;line-height:1.3}
.hub-desc{font-size:16.5px;max-width:40rem}
.hub-group h2{font-size:19px;margin-bottom:8px}
.home-fields h2{margin-bottom:10px}
.field-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:10px}
.field-list a{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink)}
.field-list a:hover .pl-title{color:var(--accent)}

/* 사이트 찾기: 머리글 아래 한 줄. 입력 글씨 16px(아이폰이 칸을 누를 때 화면을 키우지 않게) */
.site-search{flex-basis:100%;display:flex;gap:8px;margin-top:4px}
.site-search input{flex:1;min-width:0;font-family:var(--font-body);font-size:16px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.site-search input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.site-search button{font:inherit;font-size:15px;font-weight:600;padding:9px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}
.search-page{display:flex;flex-direction:column;gap:16px}
.search-page h1{font-size:clamp(24px,5vw,30px);font-weight:700}
.search-status{color:var(--muted);font-size:15px}
.search-none{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.search-none-title{font-size:18px;font-weight:700;line-height:1.4}
.search-note{font-size:13px;color:var(--muted)}
.search-browse h2,.search-partial{font-size:18px}
.search-browse h2{margin-bottom:10px}

/* 휴대폰: 머리글을 한 줄로(로고 + 찾기 칸). 찾기 칸이 둘째 줄을 차지하면 판정 페이지 첫 화면에서 결론과
   '질문 n개로 판정하기' 줄이 아래로 밀려서(2026-10-05 사람 결정). 소개·판정 기준 링크는 바닥글에 있으니 머리글에서는 뺌 */
@media (max-width:599px){
  .site-head{flex-wrap:nowrap;align-items:center;gap:12px}
  .site-nav{display:none}
  .site-search{flex:1 1 0;min-width:0;margin-top:0;gap:6px}
  .site-search input{padding:7px 10px;text-overflow:ellipsis}  /* 좁은 칸에서 안내 글이 글자 중간에 잘리지 않게 … */
  .site-search input::placeholder{text-overflow:ellipsis}
  .site-search button{padding:7px 12px}
}
