/**
 * SRVGEO Design Tokens
 * Source of truth for all colors, typography, spacing, etc.
 * Generated from existing site style + provided design-system.md
 */

:root {
  /* ========== COLORS ========== */
  --color-primary: #84B91A;
  --color-primary-dark: #6a9515;
  --color-primary-light: rgba(132, 185, 26, 0.1);
  --color-primary-hover: #6a9515;

  --color-text-main: #3E3E3E;
  --color-text-muted: #666;
  --color-text-light: #999;

  --color-bg: #ffffff;
  --color-bg-muted: #f8f9fa;
  --color-surface: #ffffff;

  --color-border: #e0e0e0;

  /* Semantic colors */
  --color-success: #84B91A;
  --color-warning: #FDB913;
  --color-warning-dark: #D89D0D;
  --color-danger: #E74C3C;

  /* Accent rgba variants */
  --color-primary-alpha-05: rgba(132, 185, 26, 0.05);
  --color-primary-alpha-10: rgba(132, 185, 26, 0.1);
  --color-primary-alpha-15: rgba(132, 185, 26, 0.15);

  /* ========== TYPOGRAPHY ========== */
  --font-base: 'Montserrat', system-ui, -apple-system, sans-serif;
  --font-heading: 'Montserrat', system-ui, -apple-system, sans-serif;

  --text-xs: 13px;
  --text-sm: 14px;
  --text-md: 15px;
  --text-lg: 16px;
  --text-xl: 18px;
  --text-2xl: 20px;
  --text-3xl: 24px;
  --text-4xl: 28px;
  --text-5xl: 32px; /* H1 на hero */

  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.2;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.8;

  /* ========== SPACING (4px scale) ========== */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  /* ========== LAYOUT ========== */
  --container-width: 1200px;
  --container-padding: 20px;
  --section-padding-y: 60px;
  --section-padding-y-sm: 40px;

  /* Service page specific */
  --hero-padding-y: 60px;
  --card-padding: 24px;
  --step-circle-size: 36px;

  /* ========== RADIUS ========== */
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* ========== SHADOWS ========== */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
  --shadow-primary: 0 4px 12px rgba(132, 185, 26, 0.3);
  --shadow-focus: 0 0 0 3px rgba(132, 185, 26, 0.1);

  /* ========== TRANSITIONS ========== */
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* ========== BREAKPOINTS ========== */
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
}

/* Dark mode placeholder (if needed later) */
@media (prefers-color-scheme: dark) {
  :root {
    /* Add dark tokens here when required */
  }
}
