/**
 * MarktLinse Design System - CSS Variables
 * Version: 1.0.0
 *
 * This file contains all design tokens for the MarktLinse application.
 * DO NOT MODIFY these values without consulting the Design System documentation.
 */

:root {
    /* ============================================
     * COLORS - Core Palette
     * ============================================ */

    /* Base Colors */
    --color-white: #ffffff;
    --color-black: #000000;

    /* Brand Colors - Gradient Spectrum */
    --color-turquoise: #00b8d9;
    --color-medium-blue: #0077b6;
    --color-dark-blue: #003566;

    /* Primary Color (Medium Blue) */
    --color-primary: #0077b6;
    --color-primary-light: #00b8d9;
    --color-primary-dark: #003566;

    /* Brand Gradient */
    --gradient-primary: linear-gradient(135deg, #00b8d9 0%, #0077b6 50%, #003566 100%);
    --gradient-primary-hover: linear-gradient(135deg, #00c9eb 0%, #0088c7 50%, #004577 100%);

    /* Semantic Colors */
    --color-success: #10b981;
    --color-success-light: #d1fae5;
    --color-success-dark: #059669;

    --color-warning: #f59e0b;
    --color-warning-light: #fef3c7;
    --color-warning-dark: #d97706;

    --color-danger: #ef4444;
    --color-danger-light: #fee2e2;
    --color-danger-dark: #dc2626;

    --color-info: #3b82f6;
    --color-info-light: #dbeafe;
    --color-info-dark: #2563eb;

    --color-purple: #8B5CF6;

    /* Accent Colors */
    --color-accent: #00d4ff;
    --color-accent-light: #ccf7ff;
    --color-accent-dark: #0099b3;
    --color-accent-secondary: #8b5cf6;
    --color-accent-secondary-light: #ede9fe;
    --color-accent-secondary-dark: #6d28d9;

    /* ============================================
     * GRAY SCALE
     * ============================================ */
    --gray-50: #fafafa;
    --gray-100: #f5f5f5;
    --gray-200: #e0e0e0;
    --gray-300: #c4c4c4;
    --gray-400: #9e9e9e;
    --gray-500: #757575;
    --gray-600: #616161;
    --gray-700: #424242;
    --gray-800: #212121;
    --gray-900: #121212;

    /* ============================================
     * TYPOGRAPHY
     * ============================================ */

    /* Font Families */
    --font-headline: "Clash Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-body: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-mono: "SF Mono", Monaco, "Cascadia Code", monospace;

    /* Font Sizes */
    --font-size-3xs: 0.6875rem;   /* 11px */
    --font-size-xs: 0.75rem;      /* 12px */
    --font-size-2xs: 0.8125rem;   /* 13px */
    --font-size-sm: 0.875rem;     /* 14px */
    --font-size-base: 1rem;       /* 16px */
    --font-size-lg: 1.125rem;     /* 18px */
    --font-size-xl: 1.25rem;      /* 20px */
    --font-size-2xl: 1.5rem;      /* 24px */
    --font-size-3xl: 1.875rem;    /* 30px */
    --font-size-4xl: 2.25rem;     /* 36px */
    --font-size-5xl: 3rem;        /* 48px */

    /* Font Weights */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Line Heights */
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;

    /* Letter Spacing */
    --letter-spacing-tight: -0.025em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.025em;

    /* ============================================
     * SPACING (4px Base Grid)
     * ============================================ */
    --spacing-0: 0;
    --spacing-1: 0.25rem;         /* 4px */
    --spacing-2: 0.5rem;          /* 8px */
    --spacing-3: 0.75rem;         /* 12px */
    --spacing-4: 1rem;            /* 16px */
    --spacing-5: 1.25rem;         /* 20px */
    --spacing-6: 1.5rem;          /* 24px */
    --spacing-8: 2rem;            /* 32px */
    --spacing-10: 2.5rem;         /* 40px */
    --spacing-12: 3rem;           /* 48px */
    --spacing-16: 4rem;           /* 64px */
    --spacing-20: 5rem;           /* 80px */
    --spacing-24: 6rem;           /* 96px */

    /* Semantic Spacing Aliases */
    --spacing-xs: 0.25rem;        /* 4px */
    --spacing-sm: 0.5rem;         /* 8px */
    --spacing-md: 1rem;           /* 16px */
    --spacing-lg: 1.5rem;         /* 24px */
    --spacing-xl: 2rem;           /* 32px */
    --content-padding: 1rem;      /* 16px — page content padding */
    --spacing-2xl: 3rem;          /* 48px */

    /* ============================================
     * BORDER RADIUS (6-Stufen DS v3.0)
     * ============================================ */
    --radius-none: 0;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-btn: 14px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-2xl: 24px;
    --radius-full: 9999px;

    /* ============================================
     * SHADOWS
     * ============================================ */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

    /* Colored Shadows */
    --shadow-primary: 0 4px 14px 0 rgba(0, 119, 182, 0.25);
    --shadow-success: 0 4px 14px 0 rgba(16, 185, 129, 0.25);
    --shadow-danger: 0 4px 14px 0 rgba(239, 68, 68, 0.25);

    /* Focus Ring Shadow */
    --shadow-focus: 0 0 0 3px rgba(0, 119, 182, 0.15);
    --shadow-focus-danger: 0 0 0 3px rgba(239, 68, 68, 0.15);
    --shadow-focus-success: 0 0 0 3px rgba(16, 185, 129, 0.15);

    /* ============================================
     * GLASSMORPHISM (DS v3.0: 0.95 opacity + blur(20px))
     * ============================================ */
    --glass-bg: rgba(255, 255, 255, 0.95);
    --glass-bg-light: rgba(255, 255, 255, 0.6);
    --glass-bg-ultra: rgba(255, 255, 255, 0.95);
    --glass-background-dark: rgba(0, 0, 0, 0.6);
    --glass-blur: blur(20px);
    --glass-blur-light: blur(20px);
    --glass-blur-subtle: blur(12px);
    --glass-blur-sm: blur(8px);
    --glass-blur-xs: blur(4px);
    --glass-border-subtle: rgba(0, 0, 0, 0.08);
    --glass-shadow-lg: 0 16px 48px 0 rgba(31, 38, 135, 0.2);

    /* ============================================
     * OVERLAY & ALPHA TOKENS
     * Definiert in: themes/light.css
     * Referenz: --overlay-2 bis --overlay-20,
     *           --overlay-white-8 bis --overlay-white-50,
     *           --primary-alpha-2 bis --primary-alpha-40,
     *           --success-alpha-*, --danger-alpha-*, --warning-alpha-*,
     *           --info-alpha-*, --purple-alpha-*
     * ============================================ */

    /* ============================================
     * TRANSITIONS & ANIMATIONS (DS v3.0)
     * ============================================ */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slower: 400ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-spring-slow: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

    /* Easing Functions */
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

    /* ============================================
     * Z-INDEX LAYERS (DS v3.0: 6-Stufen-Scale)
     * 100 dropdown → 200 sticky → 400 overlay → 500 modal → 600 toast → 700 tooltip
     * ============================================ */
    --z-base: 0;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-overlay: 400;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-toast: 600;
    --z-tooltip: 700;
    --z-max: 9999;

    /* ============================================
     * BREAKPOINTS (for reference in JS)
     * ============================================ */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;

    /* ============================================
     * LAYOUT
     * ============================================ */
    --sidebar-width: 260px;
    --sidebar-collapsed-width: 48px;

    /* ============================================
     * COMPONENT-SPECIFIC TOKENS
     * ============================================ */

    /* Buttons */
    --button-height-sm: 32px;
    --button-height-md: 40px;
    --button-height-lg: 48px;
    --button-padding-x-sm: 12px;
    --button-padding-x-md: 16px;
    --button-padding-x-lg: 24px;

    /* Inputs */
    --input-height-sm: 32px;
    --input-height-md: 40px;
    --input-height-lg: 48px;
    --input-padding-x: 12px;
    --input-border-width: 1px;
    --input-border-color: var(--border-secondary);
    --input-border-color-focus: var(--color-primary);
    --input-border-color-error: var(--color-danger);

    /* Cards */
    --card-padding: var(--spacing-lg);
    --card-border-radius: var(--radius-xl);

    /* Modal */
    --modal-backdrop-color: rgba(0, 0, 0, 0.15);
    --modal-border-radius: var(--radius-xl);
    --modal-padding: var(--spacing-xl);

    /* Toast */
    --toast-min-width: 300px;
    --toast-max-width: 500px;
    --toast-padding: var(--spacing-md);
    --toast-border-radius: var(--radius-lg);
}
