/* 공용 — 모든 화면(landing.css · admin.css · quote.css)이 함께 쓰는 색 토큰 · 글꼴 · 알림.
   ★ 디자인 · 색상은 사장님이 따로 정한다 — 지금 값은 임시다. 색을 바꿀 때는 이 파일의 :root 만 고친다(D-014 · D-015).
   ★ 여기 있는 토큰 이름을 화면 CSS 에서 다시 정의하지 않는다(시험이 지킨다 — tests/shared/css-tokens.test.mjs). */
:root {
  /* 바탕 · 글자 */
  --black: #0B0B0C; --white: #FFFFFF;
  --ink: #111418; --text: #3D434B; --sub: #6B727C; --dim: #A3A9B1; --line: #E4E7EB;
  /* 포인트 */
  --accent: #F4452F; --accent-d: #D93620; --accent-soft: #FFF1EE;
  /* 상태 */
  --ok: #1E7F4F; --err: #D93620; --warn-bg: #FFF7E6; --warn-text: #7A5A00;
  /* 글꼴 */
  --font: 'Pretendard', -apple-system, 'Apple SD Gothic Neo', system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--font); color: var(--text); letter-spacing: -.01em; word-break: keep-all; overflow-wrap: anywhere; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* 전역 알림(lib/toast.js) — 숨은 띠 안에 넣지 않는다(motmot-group I-154) */
.toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 60; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  max-width: calc(100vw - 32px); padding: 13px 18px; border-radius: 10px; background: var(--ink); color: var(--white);
  font-size: 14.5px; font-weight: 600; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); transition: opacity .2s, transform .2s;
}
.toast.on { opacity: 1; transform: translate(-50%, 0); }
.toast[data-kind="err"] { background: var(--err); }
@media (prefers-reduced-motion: reduce) { .toast { transition: none; } }

/* 화면에는 숨기고 화면 낭독기에는 읽히는 글자(로고 이미지 옆 서비스 이름 등) */
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
