/*
  파일: common/css/base.css
  설명: 디자인 토큰(CSS 변수) + 기본 타이포그래피/리셋.
        색상·반경·간격은 항상 변수를 참조한다(하드코딩 금지).
        --color-primary 는 사이트 테마색으로 base.html 에서 덮어쓴다.
*/
:root {
  /* 색상 */
  --color-primary: #4F46E5;
  --color-text: #111827;
  --color-muted: #6B7280;
  --color-border: #E5E7EB;
  --color-bg: #FFFFFF;
  --color-bg-soft: #F9FAFB;

  /* 상태색 */
  --color-success: #10B981;
  --color-warning: #F59E0B;
  --color-danger: #EF4444;
  --color-info: #3B82F6;

  /* 타이포 */
  --font-family: 'Noto Sans KR', system-ui, -apple-system, sans-serif;

  /* 반경 */
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-card: 20px;

  /* 그림자: 콘텐츠는 플랫(none), 오버레이만 사용 */
  --shadow-card: none;
  --shadow-md: 0 4px 20px rgba(0, 0, 0, .12);

  /* 간격 */
  --section-py: 96px;
}

* { box-sizing: border-box; }

body {
  font-family: var(--font-family);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; }

h1, h2, h3 { line-height: 1.3; font-weight: 700; }

img { max-width: 100%; height: auto; }

/* 모바일에서 섹션 여백 축소 */
@media (max-width: 767px) {
  :root { --section-py: 56px; }
}
