/* ==========================================
   CINEVIP THEMES SYSTEM
   ========================================== */

/* === VARIABLES COMMUNES === */
:root {
    --transition-speed: 0.3s;
    --border-radius: 12px;
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.1);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.2);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.3);
}

/* ==========================================
   THEME: DARK (DEFAULT)
   ========================================== */
[data-theme="dark"] {
    /* Background */
    --bg-primary: #0D0D0D;
    --bg-secondary: #1a1a1a;
    --bg-tertiary: #2a2a2a;
    --bg-overlay: rgba(0,0,0,0.8);
    
    /* Text */
    --text-primary: #ffffff;
    --text-secondary: rgba(255,255,255,0.8);
    --text-muted: rgba(255,255,255,0.6);
    --text-disabled: rgba(255,255,255,0.4);
    
    /* Brand */
    --brand-red: #C8102E;
    --brand-red-dark: #E10600;
    --brand-red-light: #ff6b35;
    
    /* Borders */
    --border-color: rgba(255,255,255,0.1);
    --border-color-hover: rgba(255,255,255,0.2);
    
    /* Status */
    --success: #10b981;
    --error: #ef4444;
    --warning: #f59e0b;
    --info: #3b82f6;
}

/* ==========================================
   THEME: LIGHT
   ========================================== */
[data-theme="light"] {
    /* Background */
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #e9ecef;
    --bg-overlay: rgba(255,255,255,0.95);
    
    /* Text */
    --text-primary: #000000;
    --text-secondary: rgba(0,0,0,0.8);
    --text-muted: rgba(0,0,0,0.6);
    --text-disabled: rgba(0,0,0,0.4);
    
    /* Brand */
    --brand-red: #C8102E;
    --brand-red-dark: #A00D24;
    --brand-red-light: #ff4757;
    
    /* Borders */
    --border-color: rgba(0,0,0,0.1);
    --border-color-hover: rgba(0,0,0,0.2);
    
    /* Status */
    --success: #10b981;
    --error: #ef4444;
    --warning: #f59e0b;
    --info: #3b82f6;
}

/* ==========================================
   THEME: MIDNIGHT BLUE
   ========================================== */
[data-theme="midnight"] {
    /* Background */
    --bg-primary: #0a1929;
    --bg-secondary: #132f4c;
    --bg-tertiary: #1e4976;
    --bg-overlay: rgba(10,25,41,0.9);
    
    /* Text */
    --text-primary: #e3f2fd;
    --text-secondary: rgba(227,242,253,0.8);
    --text-muted: rgba(227,242,253,0.6);
    --text-disabled: rgba(227,242,253,0.4);
    
    /* Brand */
    --brand-red: #00b4d8;
    --brand-red-dark: #0096c7;
    --brand-red-light: #48cae4;
    
    /* Borders */
    --border-color: rgba(144,202,249,0.1);
    --border-color-hover: rgba(144,202,249,0.2);
    
    /* Status */
    --success: #4ade80;
    --error: #f87171;
    --warning: #fbbf24;
    --info: #60a5fa;
}

/* ==========================================
   THEME: CHERRY BLOSSOM
   ========================================== */
[data-theme="cherry"] {
    /* Background */
    --bg-primary: #1a0f1a;
    --bg-secondary: #2d1b2e;
    --bg-tertiary: #4a2c46;
    --bg-overlay: rgba(26,15,26,0.9);
    
    /* Text */
    --text-primary: #fce7f3;
    --text-secondary: rgba(252,231,243,0.8);
    --text-muted: rgba(252,231,243,0.6);
    --text-disabled: rgba(252,231,243,0.4);
    
    /* Brand */
    --brand-red: #ec4899;
    --brand-red-dark: #db2777;
    --brand-red-light: #f9a8d4;
    
    /* Borders */
    --border-color: rgba(236,72,153,0.15);
    --border-color-hover: rgba(236,72,153,0.25);
    
    /* Status */
    --success: #86efac;
    --error: #fca5a5;
    --warning: #fde047;
    --info: #a5b4fc;
}

/* ==========================================
   THEME: HALLOWEEN (SEASONAL)
   ========================================== */
[data-theme="halloween"] {
    /* Background */
    --bg-primary: #1a0d00;
    --bg-secondary: #2d1a00;
    --bg-tertiary: #4a2b00;
    --bg-overlay: rgba(26,13,0,0.95);
    
    /* Text */
    --text-primary: #fff4e6;
    --text-secondary: rgba(255,244,230,0.8);
    --text-muted: rgba(255,244,230,0.6);
    --text-disabled: rgba(255,244,230,0.4);
    
    /* Brand */
    --brand-red: #ff6b00;
    --brand-red-dark: #e65100;
    --brand-red-light: #ff9800;
    
    /* Borders */
    --border-color: rgba(255,107,0,0.2);
    --border-color-hover: rgba(255,107,0,0.3);
    
    /* Status */
    --success: #66bb6a;
    --error: #d32f2f;
    --warning: #ffa726;
    --info: #42a5f5;
}

/* ==========================================
   THEME: CHRISTMAS (SEASONAL)
   ========================================== */
[data-theme="christmas"] {
    /* Background */
    --bg-primary: #0d1f0d;
    --bg-secondary: #1a331a;
    --bg-tertiary: #2d4d2d;
    --bg-overlay: rgba(13,31,13,0.95);
    
    /* Text */
    --text-primary: #f0fdf4;
    --text-secondary: rgba(240,253,244,0.8);
    --text-muted: rgba(240,253,244,0.6);
    --text-disabled: rgba(240,253,244,0.4);
    
    /* Brand */
    --brand-red: #dc2626;
    --brand-red-dark: #b91c1c;
    --brand-red-light: #ef4444;
    
    /* Borders */
    --border-color: rgba(34,197,94,0.2);
    --border-color-hover: rgba(34,197,94,0.3);
    
    /* Status */
    --success: #22c55e;
    --error: #dc2626;
    --warning: #eab308;
    --info: #3b82f6;
}

/* ==========================================
   THEME: GAMING
   ========================================== */
[data-theme="gaming"] {
    /* Background */
    --bg-primary: #0a0e1a;
    --bg-secondary: #131829;
    --bg-tertiary: #1f2937;
    --bg-overlay: rgba(10,14,26,0.95);
    
    /* Text */
    --text-primary: #e0e7ff;
    --text-secondary: rgba(224,231,255,0.8);
    --text-muted: rgba(224,231,255,0.6);
    --text-disabled: rgba(224,231,255,0.4);
    
    /* Brand */
    --brand-red: #8b5cf6;
    --brand-red-dark: #7c3aed;
    --brand-red-light: #a78bfa;
    
    /* Borders */
    --border-color: rgba(139,92,246,0.2);
    --border-color-hover: rgba(139,92,246,0.3);
    
    /* Status */
    --success: #34d399;
    --error: #f87171;
    --warning: #fbbf24;
    --info: #60a5fa;
}

/* ==========================================
   FONT SIZE VARIATIONS
   ========================================== */

/* Small */
[data-font-size="small"] {
    --font-base: 14px;
    --font-sm: 12px;
    --font-lg: 16px;
    --font-xl: 18px;
    --font-2xl: 20px;
    --font-3xl: 24px;
}

/* Medium (Default) */
[data-font-size="medium"] {
    --font-base: 16px;
    --font-sm: 14px;
    --font-lg: 18px;
    --font-xl: 20px;
    --font-2xl: 24px;
    --font-3xl: 30px;
}

/* Large */
[data-font-size="large"] {
    --font-base: 18px;
    --font-sm: 16px;
    --font-lg: 20px;
    --font-xl: 24px;
    --font-2xl: 28px;
    --font-3xl: 36px;
}

/* ==========================================
   DENSITY MODES
   ========================================== */

/* Compact */
[data-density="compact"] {
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 20px;
}

/* Comfortable (Default) */
[data-density="comfortable"] {
    --spacing-xs: 8px;
    --spacing-sm: 12px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
}

/* Spacious */
[data-density="spacious"] {
    --spacing-xs: 12px;
    --spacing-sm: 16px;
    --spacing-md: 24px;
    --spacing-lg: 32px;
    --spacing-xl: 48px;
}

/* ==========================================
   ANIMATIONS CONTROL
   ========================================== */

/* Animations Disabled */
[data-animations="disabled"] * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
}

/* Reduced Animations */
[data-animations="reduced"] * {
    animation-duration: 0.15s !important;
    transition-duration: 0.15s !important;
}

/* Normal Animations (Default) */
[data-animations="normal"] * {
    /* Use default values */
}

/* ==========================================
   TRANSITIONS
   ========================================== */

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: background-color var(--transition-speed), color var(--transition-speed);
}

/* Smooth theme transitions */
* {
    transition-property: background-color, color, border-color, box-shadow;
    transition-duration: var(--transition-speed);
    transition-timing-function: ease-in-out;
}

/* ==========================================
   ACCESSIBILITY
   ========================================== */

/* High Contrast Mode */
@media (prefers-contrast: high) {
    :root {
        --border-color: rgba(255,255,255,0.3);
        --text-muted: rgba(255,255,255,0.8);
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}