/* =========================================================
   Hooniva — Design Tokens
   ========================================================= */

:root {
    /* Brand colors */
    --color-primary-50: #fff2f8;
    --color-primary-100: #ffe3f1;
    --color-primary-200: #ffc7e3;
    --color-primary-300: #ff9dcc;
    --color-primary-400: #f86eb0;
    --color-primary-500: #e94c9a;
    --color-primary-600: #d33183;
    --color-primary-700: #b5226c;
    --color-primary-800: #961f5b;
    --color-primary-900: #7d1f50;

    --color-primary: var(--color-primary-500);
    --color-primary-hover: var(--color-primary-600);
    --color-primary-active: var(--color-primary-700);
    --color-primary-soft: var(--color-primary-50);

    /* Secondary colors */
    --color-secondary-50: #f2fbfa;
    --color-secondary-100: #d3f4ef;
    --color-secondary-200: #a8e8df;
    --color-secondary-300: #73d5ca;
    --color-secondary-400: #43bdb3;
    --color-secondary-500: #289f97;
    --color-secondary-600: #1e807b;
    --color-secondary-700: #1d6663;
    --color-secondary-800: #1b5251;
    --color-secondary-900: #1a4544;

    --color-secondary: var(--color-secondary-500);
    --color-secondary-soft: var(--color-secondary-50);

    /* Neutral colors */
    --color-white: #ffffff;
    --color-black: #000000;

    --color-gray-25: #fdfdfd;
    --color-gray-50: #fafafa;
    --color-gray-100: #f5f5f6;
    --color-gray-200: #e9eaeb;
    --color-gray-300: #d5d7da;
    --color-gray-400: #a4a7ae;
    --color-gray-500: #717680;
    --color-gray-600: #535862;
    --color-gray-700: #414651;
    --color-gray-800: #252b37;
    --color-gray-900: #181d27;
    --color-gray-950: #0a0d12;

    /* Semantic colors */
    --color-success-50: #ecfdf3;
    --color-success-100: #dcfae6;
    --color-success-500: #17b26a;
    --color-success-600: #079455;
    --color-success-700: #067647;

    --color-warning-50: #fffaeb;
    --color-warning-100: #fef0c7;
    --color-warning-500: #f79009;
    --color-warning-600: #dc6803;

    --color-error-50: #fef3f2;
    --color-error-100: #fee4e2;
    --color-error-500: #f04438;
    --color-error-600: #d92d20;

    --color-info-50: #eff8ff;
    --color-info-100: #d1e9ff;
    --color-info-500: #2e90fa;
    --color-info-600: #1570ef;

    /* Text */
    --color-heading: var(--color-gray-900);
    --color-text: var(--color-gray-700);
    --color-text-secondary: var(--color-gray-600);
    --color-text-muted: var(--color-gray-500);
    --color-text-disabled: var(--color-gray-400);
    --color-text-on-primary: var(--color-white);

    /* Surfaces */
    --color-background: var(--color-white);
    --color-background-soft: var(--color-gray-50);
    --color-background-muted: var(--color-gray-100);
    --color-surface: var(--color-white);
    --color-surface-raised: var(--color-white);
    --color-overlay: rgba(10, 13, 18, 0.54);

    /* Borders */
    --color-border: var(--color-gray-200);
    --color-border-strong: var(--color-gray-300);
    --color-border-primary: var(--color-primary-300);

    /* Typography */
    --font-family-base:
        "Vazirmatn",
        "IRANSansX",
        "Tahoma",
        "Segoe UI",
        Arial,
        sans-serif;

    --font-family-heading:
        "Vazirmatn",
        "IRANSansX",
        "Tahoma",
        "Segoe UI",
        Arial,
        sans-serif;

    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
    --font-size-5xl: 3rem;
    --font-size-6xl: 3.75rem;

    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;

    --line-height-xs: 1.45;
    --line-height-sm: 1.6;
    --line-height-md: 1.8;
    --line-height-lg: 1.9;

    /* Spacing */
    --space-0: 0;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 1.75rem;
    --space-8: 2rem;
    --space-9: 2.25rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;
    --space-18: 4.5rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-28: 7rem;
    --space-32: 8rem;

    /* Containers */
    --container-xs: 640px;
    --container-sm: 768px;
    --container-md: 960px;
    --container-lg: 1120px;
    --container-xl: 1240px;
    --container-wide: 1360px;
    --container-gutter: 24px;

    /* Radius */
    --radius-xs: 6px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-xs:
        0 1px 2px rgba(10, 13, 18, 0.05);

    --shadow-sm:
        0 1px 3px rgba(10, 13, 18, 0.08),
        0 1px 2px rgba(10, 13, 18, 0.04);

    --shadow-md:
        0 8px 18px rgba(10, 13, 18, 0.08),
        0 2px 6px rgba(10, 13, 18, 0.04);

    --shadow-lg:
        0 16px 32px rgba(10, 13, 18, 0.1),
        0 4px 10px rgba(10, 13, 18, 0.04);

    --shadow-xl:
        0 24px 48px rgba(10, 13, 18, 0.12),
        0 8px 16px rgba(10, 13, 18, 0.05);

    --shadow-primary:
        0 12px 30px rgba(233, 76, 154, 0.22);

    /* Transitions */
    --transition-fast: 140ms ease;
    --transition-base: 220ms ease;
    --transition-slow: 360ms ease;

    /* Layering */
    --z-dropdown: 100;
    --z-sticky: 300;
    --z-header: 500;
    --z-overlay: 700;
    --z-modal: 800;
    --z-toast: 900;

    /* Header */
    --header-height: 80px;
    --header-height-mobile: 68px;

    /* Section spacing */
    --section-space: 112px;
    --section-space-tablet: 88px;
    --section-space-mobile: 72px;
}