/* ============================================
   햇살페이 (HaessalPay) v3.0 — Design Tokens
   NowPay-level quality rebuild
   ============================================ */

/* ── Font-face ── */
@font-face {
  font-family: 'NanumSquareRound';
  src: url('../assets/fonts/nanum-square-round/NanumSquareRoundL.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'NanumSquareRound';
  src: url('../assets/fonts/nanum-square-round/NanumSquareRoundR.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'NanumSquareRound';
  src: url('../assets/fonts/nanum-square-round/NanumSquareRoundB.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'NanumSquareRound';
  src: url('../assets/fonts/nanum-square-round/NanumSquareRoundEB.ttf') format('truetype');
  font-weight: 800;
  font-display: swap;
}

:root {
  /* ── Primary (Blue) ── */
  --color-primary: #1B5E9E;
  --color-primary-dark: #154C80;
  --color-primary-light: #E8F4FD;
  --color-primary-rgb: 27, 94, 158;

  /* ── Secondary (Dark Navy) ── */
  --color-secondary: #0F1923;
  --color-secondary-light: #1A2A3A;

  /* ── Accent (Gold/Orange) ── */
  --color-accent: #F7941D;
  --color-accent-light: #FFD700;
  --color-accent-dark: #D4A843;
  --color-accent-rgb: 247, 148, 29;

  /* ── Brand Red (for tables/badges like NowPay) ── */
  --color-brand-red: #E53935;
  --color-brand-red-dark: #C62828;

  /* ── Neutrals ── */
  --color-bg: #FFFFFF;
  --color-surface: #FFFFFF;
  --color-section-alt: #F7F8FA;
  --color-section-cream: #FFF9F0;
  --color-white: #FFFFFF;
  --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;

  /* ── Semantic ── */
  --color-success: #10B981;
  --color-danger: #EF4444;
  --color-kakao: #FEE500;
  --color-kakao-text: #3C1E1E;

  /* ── Typography ── */
  --font-primary: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', sans-serif;
  --font-secondary: 'Inter', 'Pretendard', sans-serif;
  --font-round: 'NanumSquareRound', 'Pretendard', sans-serif;

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

  /* Font Scale — v3.1 micro-bump for readability */
  --fs-xs: 0.8125rem;   /* 13px */
  --fs-sm: 1rem;         /* 16px */
  --fs-base: 1.125rem;   /* 18px */
  --fs-md: 1.3125rem;    /* 21px */
  --fs-lg: 1.5rem;       /* 24px */
  --fs-xl: 1.75rem;      /* 28px */
  --fs-2xl: 2.125rem;    /* 34px */
  --fs-3xl: 2.625rem;    /* 42px */
  --fs-4xl: 3.25rem;     /* 52px — Hero main title */
  --fs-5xl: 4rem;        /* 64px */

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

  --ls-tight: -0.02em;
  --ls-normal: 0;
  --ls-wide: 0.05em;

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

  /* ── Border Radius ── */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-pill: 100px;
  --radius-circle: 50%;

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

  /* ── Glass ── */
  --glass-bg: rgba(255, 255, 255, 0.85);
  --glass-blur: 20px;
  --glass-border: 1px solid rgba(255, 255, 255, 0.3);

  /* ── Transitions ── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.45, 0, 0.55, 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;
  --z-toast: 500;

  /* ── Layout ── */
  --container-max: 1200px;
  --container-narrow: 960px;
  --container-padding: 24px;
  --nav-height: 72px;
  --floating-bar-height: 60px;
}

/* ── Section theme overrides ── */
.section--dark {
  --text-color: #FFFFFF;
  --text-sub: rgba(255, 255, 255, 0.7);
}
