/* ============================================
   위고페이 (Wegopay) v2.1 — Design Tokens
   로드 순서: 1/5 (이 파일이 가장 먼저 로드됨)
   의존: 없음 (모든 다른 CSS가 이 토큰을 참조)
   파스텔 스카이블루 · 프리미엄 핀테크
   ============================================ */

/* ── Font CDN ── */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');

:root {
  /* ── Primary (Sky Blue) ── */
  --color-primary: #4DA3FF;
  --color-primary-dark: #3B93EF;
  --color-primary-light: #EAF4FF;
  --color-primary-rgb: 77, 163, 255;

  /* ── Secondary (Light Blue) ── */
  --color-secondary: #8CC6FF;
  --color-secondary-light: #D4EBFF;

  /* ── Accent (Dark Navy) ── */
  --color-accent: #0F1F3D;
  --color-accent-light: #1a3158;

  /* ── Neutrals ── */
  --color-bg: #EAF4FF;
  --color-surface: #FFFFFF;
  --color-section-alt: #F0F7FF;
  --color-white: #FFFFFF;
  --color-border: #E2E8F0;
  --color-gray-50: #FAFAFA;
  --color-gray-100: #F5F5F7;
  --color-gray-200: #E5E5EA;
  --color-gray-300: #D1D1D6;
  --color-gray-400: #9CA3AF;
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;

  /* ── Text ── */
  --color-text: #0F1F3D;
  --color-text-light: #64748B;

  /* ── Semantic ── */
  --color-success: #34D399;
  --color-danger: #F87171;
  --color-kakao: #FEE500;
  --color-kakao-text: #3C1E1E;

  /* ── Typography ── */
  --font-family: 'Pretendard Variable', 'Pretendard', 'Noto Sans KR', system-ui, sans-serif;

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* Font Scale */
  --fs-xs: 0.75rem;      /* 12px */
  --fs-sm: 0.875rem;     /* 14px */
  --fs-base: 1rem;       /* 16px */
  --fs-md: 1.125rem;     /* 18px */
  --fs-lg: 1.25rem;      /* 20px */
  --fs-xl: 1.5rem;       /* 24px */
  --fs-2xl: 2rem;        /* 32px */
  --fs-3xl: 2.5rem;      /* 40px */
  --fs-4xl: 3.25rem;     /* 52px — Hero title */

  --lh-tight: 1.2;
  --lh-snug: 1.35;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  /* ── Spacing ── */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 64px;
  --space-3xl: 80px;

  /* ── Border Radius ── */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm: 0 1px 3px rgba(15, 31, 61, 0.06);
  --shadow-md: 0 4px 16px rgba(15, 31, 61, 0.08);
  --shadow-lg: 0 8px 32px rgba(15, 31, 61, 0.12);
  --shadow-xl: 0 16px 48px rgba(15, 31, 61, 0.16);
  --shadow-card: 0 2px 8px rgba(15, 31, 61, 0.04), 0 8px 24px rgba(15, 31, 61, 0.06);
  --shadow-card-hover: 0 4px 12px rgba(15, 31, 61, 0.06), 0 12px 32px rgba(15, 31, 61, 0.10);

  /* ── Glass ── */
  --glass-bg: rgba(255, 255, 255, 0.85);
  --glass-blur: 12px;

  /* ── Transitions ── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-slow: 500ms;

  /* ── Z-index ── */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal: 400;

  /* ── Layout ── */
  --max-width: 1200px;
  --header-h: 72px;
  --floating-bar-h: 60px;
}

/* ── Mobile Font Scale ── */
@media (max-width: 768px) {
  :root {
    --fs-4xl: 2.25rem;    /* 36px ← 52px */
    --fs-3xl: 1.875rem;   /* 30px ← 40px */
    --fs-2xl: 1.625rem;   /* 26px ← 32px */
    --fs-xl: 1.375rem;    /* 22px ← 24px */
    --fs-lg: 1.125rem;    /* 18px ← 20px */
    --header-h: 64px;
  }
}
