/* ===================================
   Global Styles
   Applies design tokens to base elements
   Synced with: docs/design-system.md
   =================================== */

/* --- Base --- */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line, 1.6);
  color: var(--color-text-primary);
  background-color: var(--color-bg-primary);
  letter-spacing: var(--tracking-normal);
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* --- Custom Cursor (모든 요소에서 동일) --- */
*,
*::before,
*::after {
  cursor: url('../img/cursor-pin.svg') 14 2, auto !important;
}

/* --- Forms & Buttons Typography --- */
label,
button,
input,
textarea,
select,
.form-label,
.btn,
.alert,
.agreement-title,
.agreement-text,
.agreement-detail {
  font-family: inherit;
}

/* 읽기 전용 필드 — 인풋 박스 스타일 제거 */
.non-editable {
  border: none!important;
  background: none!important;
}

small {
  font-size: 14px;
  color: var(--color-text-secondary);
}

/* --- Links --- */
a {
  color: var(--color-text-primary);
  transition: color var(--duration-fast) var(--easing-default);
}

a:hover {
  color: var(--color-primary);
}

/* --- Selection --- */
::selection {
  background-color: var(--color-primary);
  color: white;
}

/* --- Scrollbar (Webkit) --- */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-bg-primary);
}

::-webkit-scrollbar-thumb {
  background: var(--color-primary);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary-hover);
}

/* --- Focus --- */
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* --- Required Marker (*) — 사이트 전반 포인트 컬러 --- */
.form-label span,
label span {
  color: var(--color-primary);
  font-weight: 300;
  margin-left: var(--space-1);
}


.alert{
  text-align: center;
  color: var(--color-primary);
  font-size:20px;
  font-weight: 500;
}