/*
Theme Name: Astra Child — 법률길잡이
Theme URI: https://nsialaw.com
Description: 법률길잡이 사이트 전용 Astra 자식 테마. 디자인 토큰·컴포넌트·CPT body class를 담는다.
Author: NSIA Lab
Author URI: https://nsialab.com
Template: astra
Version: 1.0.0
Text Domain: legalkit-child
*/

/* ============================================================
   §7-1. 색상 토큰 (마스터 지시서 v2 §7-1 참조)
   ============================================================ */
:root {
  /* Primary */
  --primary:        #0F4C5C;
  --primary-dark:   #0a3540;
  --primary-soft:   #D6E8EC;
  --primary-bg:     #F0F7F8;

  /* Neutral */
  --ink:            #0F1419;
  --charcoal:       #4A5568;
  --stone:          #94A3B8;
  --mist:           #E2E8F0;
  --paper:          #FAFAF7;
  --white:          #FFFFFF;

  /* Accent */
  --accent:         #B85C3D;
  --accent-soft:    #F5E6DE;

  /* Status */
  --warn:           #B45309;
  --warn-soft:      #FEF3C7;
  --danger:         #9F1239;
  --danger-soft:    #FFE4E6;
  --success:        #15803D;
  --success-soft:   #DCFCE7;

  /* Spacing (4px base) */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px;
  --sp-4: 16px; --sp-6: 24px; --sp-8: 32px;
  --sp-12: 48px; --sp-16: 64px; --sp-24: 96px;

  /* Radius */
  --r-sm: 2px; --r-md: 4px; --r-lg: 8px; --r-xl: 16px; --r-full: 9999px;

  /* 분야 색상 (기본 = primary, body class로 override) */
  --field:    var(--primary);
  --field-bg: var(--primary-bg);
}

/* ============================================================
   §7-2. 8 분야 색상 — body class로 자동 적용
   ============================================================ */
body.cat-tenant   { --field:#0F4C5C; --field-bg:#F0F7F8; }
body.cat-labor    { --field:#5F8A6F; --field-bg:#F0F7F2; }
body.cat-family   { --field:#A11038; --field-bg:#FFF1F3; }
body.cat-traffic  { --field:#B45309; --field-bg:#FFFBEB; }
body.cat-fraud    { --field:#B85C3D; --field-bg:#FFF6F1; }
body.cat-criminal { --field:#3730A3; --field-bg:#EEF0FF; }
body.cat-consumer { --field:#6D28D9; --field-bg:#F5F3FF; }
body.cat-digital  { --field:#0E7490; --field-bg:#ECFEFF; }

/* ============================================================
   §7-3. 타이포 베이스
   ============================================================ */
body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-size: 17px;
  line-height: 1.85;
  letter-spacing: -0.01em;
}

@media (max-width: 768px) {
  body { font-size: 16px; line-height: 1.75; }
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.lk-num    { font-family: 'Bebas Neue', sans-serif; letter-spacing: 0; }
.lk-quote  { font-family: 'IBM Plex Sans KR', serif; font-style: italic; font-weight: 400; }
.lk-meta   { font-family: 'Inter', sans-serif; font-weight: 500; }

/* ============================================================
   링크
   ============================================================ */
a { color: var(--primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--primary-dark); }

/* ============================================================
   §7-6. 기본 컴포넌트 (확장은 Phase 2~7)
   ============================================================ */

/* 검색바 */
.lk-search {
  display: flex; align-items: center;
  height: 64px;
  background: var(--white);
  border: 1px solid var(--ink);
  border-radius: var(--r-sm);
  padding: 0 var(--sp-4);
}
.lk-search input {
  flex: 1; border: 0; outline: 0;
  font-family: inherit; font-size: 17px;
  color: var(--ink); background: transparent;
}
.lk-search input::placeholder { color: var(--stone); }
.lk-search:focus-within {
  border-color: var(--primary);
  box-shadow: 0 4px 24px rgba(15,76,92,0.08);
}
@media(max-width:768px){ .lk-search{height:56px} }

/* 버튼 */
.lk-btn {
  display: inline-block;
  padding: 14px 32px;
  font-family: inherit;
  font-size: 15px; font-weight: 700;
  border-radius: var(--r-sm);
  text-decoration: none;
  transition: all .2s;
  cursor: pointer;
  border: 1px solid transparent;
}
.lk-btn-primary   { background: var(--ink); color: var(--white); }
.lk-btn-primary:hover { background: var(--charcoal); color: var(--white); }
.lk-btn-secondary { background: transparent; color: var(--ink); border-color: var(--ink); }
.lk-btn-secondary:hover { background: var(--ink); color: var(--white); }
.lk-btn-ghost { background: transparent; color: var(--ink); }
.lk-btn-ghost:hover { background: var(--mist); }

/* 카드 */
.lk-card {
  background: var(--white);
  border: 1px solid var(--mist);
  border-radius: var(--r-lg);
  padding: var(--sp-6);
  transition: box-shadow .2s;
}
.lk-card:hover { box-shadow: 0 4px 24px rgba(0,0,0,0.06); }

/* 인용 박스 */
.lk-quote-box {
  border-left: 4px solid var(--primary);
  padding-left: var(--sp-4);
  font-family: 'IBM Plex Sans KR', serif;
  font-style: italic;
  color: var(--charcoal);
  margin: var(--sp-6) 0;
}

/* 함정 박스 */
.lk-trap {
  background: var(--warn-soft);
  border: 1px solid var(--warn);
  border-radius: var(--r-lg);
  padding: var(--sp-6);
  margin: var(--sp-4) 0;
}
.lk-trap-title {
  font-weight: 700; color: #92400e;
  margin-bottom: var(--sp-3);
}
.lk-trap-title::before { content: '⚠️ '; }

/* 면책 박스 (§4-3 표준 카피 사용) */
.lk-disclaimer {
  background: var(--danger-soft);
  border-left: 4px solid var(--danger);
  border-radius: var(--r-md);
  padding: var(--sp-4) var(--sp-6);
  margin: var(--sp-6) 0;
  font-size: 14px;
  color: var(--charcoal);
  line-height: 1.7;
}
.lk-disclaimer strong { color: var(--danger); }

/* 광고 슬롯 */
.lk-ad-slot {
  margin: var(--sp-8) 0;
  padding: var(--sp-4);
  background: var(--white);
  border: 1px dashed var(--mist);
  border-radius: var(--r-md);
  text-align: center;
}
.lk-ad-slot::before {
  content: '광고';
  display: block;
  font-size: 11px;
  color: var(--stone);
  margin-bottom: var(--sp-2);
}

/* 신뢰 시그널 띠 */
.lk-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--mist);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin: var(--sp-8) 0;
}
.lk-trust-item {
  background: var(--white);
  padding: var(--sp-4);
  text-align: center;
}
.lk-trust-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 32px;
  color: var(--field);
  line-height: 1;
  margin-bottom: var(--sp-2);
}
.lk-trust-label {
  font-size: 13px;
  color: var(--charcoal);
}
@media (max-width: 640px) {
  .lk-trust { grid-template-columns: repeat(2, 1fr); }
}

/* 진단·도구 전체너비 (Astra fullwidth) */
body.lk-fullwidth .site-content .ast-container {
  max-width: 100%;
  padding: 0;
}

/* ============================================================
   본문 컨테이너 폭
   ============================================================ */
.ast-container { max-width: 1200px; }
.entry-content { max-width: 720px; margin: 0 auto; }
.entry-content.lk-wide { max-width: 1200px; }
