/* 디자인 시스템 단일 소스 — 독산(체리) 팔레트 승계, 타이포·간격 변수와 리셋 */

:root {
  /* 팔레트 — cherry-doksan-web base.css 승계 (버건디 + 베이지) */
  --c-cream-50: #FDFBF7;
  --c-cream-100: #FAF3EC;
  --c-cream-200: #F2E6DA;
  --c-line: #E7D9CC;
  --c-beige-300: #EADCC3;
  --c-cherry-600: #C94F63;
  --c-cherry-700: #A93B50;
  --c-burgundy-900: #5C1F2B;
  --c-text: #40282E;
  --c-text-muted: #8A7075;
  --c-sage: #4C7A5A;
  --c-amber: #B47A1B;
  --c-danger: #A93B3B;
  --c-white: #FFFFFF;

  --font-sans: "Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;

  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --shadow: 0 8px 24px rgba(92, 31, 43, 0.08);
  --transition: 0.2s ease;
}

*, *::before, *::after { box-sizing: border-box; }

/* hidden 속성은 display 지정(예: #wizard flex)보다 항상 우선 */
[hidden] { display: none !important; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--c-text);
  background: var(--c-cream-100);
  word-break: keep-all;
  overflow-wrap: break-word;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
}

/* 터치 요소는 탭 반응만 남기고 하이라이트 제거 */
button, .opt, .chip, .check-row label { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }

h1, h2, h3, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg { max-width: 100%; height: auto; display: block; }
button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }

:focus-visible { outline: 2px solid var(--c-cherry-600); outline-offset: 2px; }
