/* ==========================================================================
   Design Tokens — Reova (Light theme, warm neutrals)
   Inspired by Ranqer/GitBook: clean, minimal, professional
   ========================================================================== */

/* --- Inter (self-hosted variable font) --- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/inter-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* --- Brand --- */
  --c-primary: #0f766e;
  --c-primary-hover: #0d6560;
  --c-primary-light: #14b8a6;
  --c-primary-bg: rgba(15, 118, 110, 0.06);

  --c-accent: #f59e0b;
  --c-accent-hover: #d97706;
  --c-accent-bg: rgba(245, 158, 11, 0.08);

  /* --- Text (warm stone tones, not cool slate) --- */
  --c-text: #1C1917;
  --c-text-sec: #57534D;
  --c-text-muted: #78716C;
  --c-text-inv: #FAFAF9;

  /* --- Surfaces (warm) --- */
  --c-bg: #ffffff;
  --c-bg-alt: #FAFAF9;
  --c-bg-card: #ffffff;
  --c-border: #E7E5E4;
  --c-border-light: #F5F5F4;

  /* --- Dark section (sparingly used) --- */
  --c-bg-dark: #0F0F0F;
  --c-dark-surface: #1A1A1A;
  --c-dark-border: #2A2A2A;
  --c-dark-text: #F5F5F4;
  --c-dark-text-muted: #A8A29E;

  /* --- Severity/status --- */
  --c-red: #ef4444;
  --c-red-bg: rgba(239, 68, 68, 0.08);
  --c-amber: #f59e0b;
  --c-amber-bg: rgba(245, 158, 11, 0.08);
  --c-yellow: #eab308;
  --c-yellow-bg: rgba(234, 179, 8, 0.08);
  --c-green: #22c55e;
  --c-green-bg: rgba(34, 197, 94, 0.08);
  --c-blue: #3b82f6;
  --c-blue-bg: rgba(59, 130, 246, 0.08);

  /* --- Category accents --- */
  --c-legal: #ef4444;
  --c-legal-bg: rgba(239, 68, 68, 0.08);
  --c-seo-cat: #3b82f6;
  --c-seo-bg: rgba(59, 130, 246, 0.08);
  --c-speed: #8b5cf6;
  --c-speed-bg: rgba(139, 92, 246, 0.08);

  /* --- Typography --- */
  --ff: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ff-mono: 'Courier New', 'JetBrains Mono', monospace;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  --fs-xs: 0.75rem;    /* 12px */
  --fs-sm: 0.875rem;   /* 14px */
  --fs-base: 1rem;     /* 16px */
  --fs-lg: 1.125rem;   /* 18px */
  --fs-xl: 1.25rem;    /* 20px */
  --fs-2xl: 1.5rem;    /* 24px */
  --fs-3xl: 1.875rem;  /* 30px */
  --fs-4xl: 2.25rem;   /* 36px */
  --fs-5xl: 3rem;      /* 48px */
  --fs-6xl: 3.75rem;   /* 60px */
  --fs-display: clamp(2.5rem, 5vw, 4.5rem); /* responsive hero */

  --lh-tight: 1;
  --lh-snug: 1.15;
  --lh-normal: 1.6;
  --lh-relaxed: 1.75;

  /* --- Spacing --- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-28: 7rem;
  --sp-32: 8rem;
  --sp-40: 10rem;

  /* --- Layout --- */
  --container: 1200px;
  --container-wide: 1400px;
  --container-narrow: 800px;
  --gutter: var(--sp-6);

  /* --- Radius --- */
  --r-sm: 0.375rem;
  --r-md: 0.5rem;
  --r-lg: 0.75rem;
  --r-xl: 1rem;
  --r-2xl: 1.5rem;
  --r-full: 9999px;

  /* --- Shadows (warm, subtle) --- */
  --shadow-sm: 0 1px 2px rgba(28, 25, 23, 0.04);
  --shadow-md: 0 4px 6px -1px rgba(28, 25, 23, 0.06), 0 2px 4px -2px rgba(28, 25, 23, 0.04);
  --shadow-lg: 0 10px 15px -3px rgba(28, 25, 23, 0.06), 0 4px 6px -4px rgba(28, 25, 23, 0.03);
  --shadow-xl: 0 20px 25px -5px rgba(28, 25, 23, 0.08), 0 8px 10px -6px rgba(28, 25, 23, 0.03);

  /* --- Transitions --- */
  --ease: cubic-bezier(0.25, 0.4, 0.25, 1);
  --dur-fast: 150ms;
  --dur: 200ms;
  --dur-slow: 400ms;

  /* --- Glassmorphism --- */
  --glass-bg: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(255, 255, 255, 0.5);
  --glass-blur: blur(20px) saturate(180%);

  /* --- Z-index --- */
  --z-header: 100;
  --z-modal: 200;
  --z-cookie: 300;
}
