/**
 * Claira AI Theme - CSS Variables
 * Castaldo Solutions Brand Colors & Design System
 */

:root {
    /* Castaldo Solutions Brand Colors */
    --castaldo-primary: #0057b7;      /* Blu principale Castaldo Solutions */
    --castaldo-white: #ffffff;        /* Bianco */
    --castaldo-black: #000000;        /* Nero */
    --castaldo-gray: #bdc3c7;         /* Grigio */
    
    /* AI Theme Color Variations */
    --ai-primary: var(--castaldo-primary);
    --ai-primary-light: #2471d1;      /* Versione più chiara del blu */
    --ai-primary-dark: #003d85;       /* Versione più scura del blu */
    --ai-secondary: var(--castaldo-gray);
    --ai-accent: #1e88e5;             /* Blu accento per elementi interattivi */
    
    /* Background Colors */
    --bg-dark: var(--castaldo-black);
    --bg-darker: #0a0a0a;             /* Nero più profondo per contrasto */
    --bg-light: var(--castaldo-white);
    --bg-gray: var(--castaldo-gray);
    --bg-gray-light: #ecf0f1;         /* Grigio chiaro per sezioni */
    --bg-gray-dark: #95a5a6;          /* Grigio scuro */
    
    /* Text Colors */
    --text-primary: var(--castaldo-white);
    --text-secondary: var(--castaldo-gray);
    --text-dark: var(--castaldo-black);
    --text-accent: var(--castaldo-primary);
    --text-muted: #7f8c8d;            /* Grigio smorzato per testo secondario */
    
    /* AI Status Colors */
    --ai-success: #27ae60;            /* Verde per status positivi */
    --ai-warning: #f39c12;            /* Arancione per warning */
    --ai-error: #e74c3c;              /* Rosso per errori */
    --ai-info: var(--castaldo-primary); /* Blu per informazioni */
    
    /* Gradient Definitions */
    --gradient-primary: linear-gradient(135deg, var(--castaldo-primary), var(--ai-primary-light));
    --gradient-secondary: linear-gradient(45deg, var(--castaldo-gray), var(--bg-gray-light));
    --gradient-dark: linear-gradient(135deg, var(--bg-darker), var(--castaldo-black));
    --gradient-hero: linear-gradient(135deg, var(--bg-darker) 0%, var(--castaldo-black) 50%, var(--ai-primary-dark) 100%);
    
    /* Typography */
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-secondary: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
    --font-heading: 'Inter', sans-serif;
    
    /* Font Weights */
    --font-light: 300;
    --font-regular: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;
    
    /* Font Sizes */
    --font-xs: 0.75rem;    /* 12px */
    --font-sm: 0.875rem;   /* 14px */
    --font-base: 1rem;     /* 16px */
    --font-lg: 1.125rem;   /* 18px */
    --font-xl: 1.25rem;    /* 20px */
    --font-2xl: 1.5rem;    /* 24px */
    --font-3xl: 1.875rem;  /* 30px */
    --font-4xl: 2.25rem;   /* 36px */
    --font-5xl: 3rem;      /* 48px */
    
    /* Spacing System */
    --spacing-xs: 0.25rem;   /* 4px */
    --spacing-sm: 0.5rem;    /* 8px */
    --spacing-md: 1rem;      /* 16px */
    --spacing-lg: 1.5rem;    /* 24px */
    --spacing-xl: 2rem;      /* 32px */
    --spacing-2xl: 3rem;     /* 48px */
    --spacing-3xl: 4rem;     /* 64px */
    --spacing-4xl: 6rem;     /* 96px */
    
    /* Border Radius */
    --radius-sm: 0.25rem;    /* 4px */
    --radius-md: 0.5rem;     /* 8px */
    --radius-lg: 0.75rem;    /* 12px */
    --radius-xl: 1rem;       /* 16px */
    --radius-2xl: 1.5rem;    /* 24px */
    --radius-full: 9999px;   /* Fully rounded */
    
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);
    --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
    
    /* Castaldo Solutions Specific Shadows */
    --shadow-castaldo: 0 10px 30px rgba(0, 87, 183, 0.15);
    --shadow-castaldo-lg: 0 20px 40px rgba(0, 87, 183, 0.2);
    --shadow-ai: 0 8px 32px rgba(0, 87, 183, 0.12);
    --shadow-card: 0 8px 32px rgba(0, 0, 0, 0.1);
    
    /* Transitions */
    --transition-fast: 0.15s ease;
    --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.5s ease;
    --transition-bounce: 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    
    /* Z-Index Scale */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    --z-toast: 1080;
    
    /* Breakpoints (for JS usage) */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;
    
    /* AI Animation Durations */
    --ai-pulse-duration: 2s;
    --ai-glow-duration: 3s;
    --ai-scan-duration: 2s;
    --ai-typing-speed: 100ms;
    --ai-neural-flow: 5s;
    
    /* Component Specific Variables */
    --header-height: 80px;
    --header-height-mobile: 60px;
    --sidebar-width: 350px;
    --sidebar-width-mobile: 100%;
    
    /* AI Status Indicators */
    --status-active: var(--ai-success);
    --status-warning: var(--ai-warning);
    --status-error: var(--ai-error);
    --status-offline: var(--castaldo-gray);
}

/* Dark Theme Overrides */
@media (prefers-color-scheme: dark) {
    :root {
        --bg-light: var(--castaldo-black);
        --text-primary: var(--castaldo-white);
        --text-secondary: var(--castaldo-gray);
    }
}

/* Light Theme Alternative (Optional) */
.theme-light {
    --bg-dark: var(--castaldo-white);
    --bg-darker: var(--bg-gray-light);
    --text-primary: var(--castaldo-black);
    --text-secondary: var(--bg-gray-dark);
    --shadow-card: 0 8px 32px rgba(0, 87, 183, 0.08);
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    :root {
        --ai-primary: #0066cc;
        --shadow-castaldo: 0 0 0 2px var(--castaldo-primary);
        --shadow-ai: 0 0 0 1px var(--castaldo-primary);
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-fast: 0s;
        --transition-base: 0s;
        --transition-slow: 0s;
        --ai-pulse-duration: 0s;
        --ai-glow-duration: 0s;
        --ai-scan-duration: 0s;
        --ai-neural-flow: 0s;
    }
}

/* Print Styles Variables */
@media print {
    :root {
        --bg-dark: white;
        --bg-darker: white;
        --text-primary: black;
        --text-secondary: #333;
        --shadow-card: none;
        --shadow-castaldo: none;
    }
}