/* === VARIABLES CSS === */
:root {
    /* Couleurs principales */
    --primary-50: #f0f9ff;
    --primary-100: #e0f2fe;
    --primary-200: #bae6fd;
    --primary-300: #7dd3fc;
    --primary-400: #38bdf8;
    --primary-500: #0ea5e9;
    --primary-600: #0284c7;
    --primary-700: #0369a1;
    --primary-800: #075985;
    --primary-900: #0c4a6e;
    
    /* Couleurs de statut */
    --success-500: #10b981;
    --warning-500: #f59e0b;
    --danger-500: #ef4444;
    --info-500: #3b82f6;
    
    /* Couleurs WhatsApp */
    --whatsapp-500: #25D366;
    --whatsapp-600: #1da851;
    
    /* Couleurs neutres */
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;
    --gray-700: #374151;
    --gray-800: #1f2937;
    --gray-900: #111827;
    
    /* Dark mode */
    --dark-900: #0f172a;
    --dark-800: #1e293b;
    
    /* Tailles et espacements */
    --header-height: 64px;
    --container-max: 1200px;
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    
    /* Ombres */
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

[data-theme="dark"] {
    --primary-500: #38bdf8;
    --primary-600: #0ea5e9;
    --gray-50: #0f172a;
    --gray-100: #1e293b;
    --gray-200: #334155;
    --gray-300: #475569;
    --gray-400: #64748b;
    --gray-500: #94a3b8;
    --gray-600: #cbd5e1;
    --gray-700: #e2e8f0;
    --gray-800: #f1f5f9;
    --gray-900: #f8fafc;
}

/* RESET & BASE */
* { box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; line-height: 1.6; color: var(--gray-900); background: var(--gray-50); }
[dir="rtl"] { font-family: 'IBM Plex Sans Arabic', 'Inter', sans-serif; }

/* UTILITIES */
.container { width: 100%; max-width: var(--container-max); margin: 0 auto; padding: 0 1rem; }
@media (min-width: 768px) { .container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container { padding: 0 2rem; } }

/* SECTIONS */
.section { padding: 4rem 0; }
@media (max-width: 768px) { .section { padding: 3rem 0; } }
.section-dark { background: var(--gray-50); color: var(--gray-900); }
[data-theme="dark"] .section-dark { background: var(--dark-800); color: var(--gray-100); }

/* TYPOGRAPHY */
.display-1 { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 800; line-height: 1.1; }
.display-4 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.2; }
.text-gradient { background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.text-gradient-whatsapp { background: linear-gradient(135deg, var(--whatsapp-500) 0%, var(--whatsapp-600) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* BADGES */
.badge { display: inline-flex; align-items: center; padding: 0.375rem 0.75rem; font-size: 0.875rem; font-weight: 600; border-radius: var(--radius-sm); }
.badge-primary { background: var(--primary-500); color: white; }
.badge-success { background: var(--success-500); color: white; }
.badge-warning { background: var(--warning-500); color: #000; }
.badge-danger { background: var(--danger-500); color: white; }
.badge-whatsapp { background: var(--whatsapp-500); color: white; border: 1px solid var(--whatsapp-600); }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.625rem 1.25rem; font-weight: 600; border-radius: var(--radius-md); border: 2px solid transparent; transition: all 0.3s ease; }
.btn-lg { padding: 0.875rem 2rem; font-size: 1.125rem; }
.btn-primary { background: var(--primary-500); color: white; border-color: var(--primary-500); }
.btn-primary:hover { background: var(--primary-600); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.btn-outline-primary { background: transparent; color: var(--primary-500); border-color: var(--primary-500); }
.btn-outline-primary:hover { background: var(--primary-500); color: white; }
.btn-success { background: var(--success-500); color: white; border-color: var(--success-500); }
.btn-success:hover { background: #0da271; }

/* CARDS */
.feature-card { background: var(--gray-100); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 2rem; transition: all 0.3s ease; }
.feature-card:hover { transform: translateY(-0.5rem); box-shadow: var(--shadow-lg); border-color: var(--primary-300); }
[data-theme="dark"] .feature-card { background: var(--gray-800); border-color: var(--gray-700); }

/* HERO SECTION */
.hero-section { min-height: calc(100vh - var(--header-height)); display: flex; align-items: center; padding: 3rem 0; background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-50) 100%); }
[data-theme="dark"] .hero-section { background: linear-gradient(135deg, var(--dark-900) 0%, var(--dark-800) 100%); }
.hero-title { font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 800; line-height: 1.1; margin-bottom: 1.5rem; color: var(--gray-900); }
.hero-subtitle { font-size: 1.25rem; color: var(--gray-600); margin-bottom: 2rem; max-width: 600px; }

/* FOUNDER OFFER */
.founder-offer { background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%); border: 3px solid var(--warning-500); border-radius: var(--radius-lg); padding: 2rem; margin: 2rem auto; max-width: 1200px; }
[data-theme="dark"] .founder-offer { background: linear-gradient(135deg, #1c1917 0%, #292524 100%); }

/* VALIDATION PROCESS */
.process-timeline { position: relative; padding-left: 3rem; }
.process-timeline::before { content: ''; position: absolute; left: 1.5rem; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, var(--primary-500) 0%, var(--success-500) 100%); }
.process-step { position: relative; margin-bottom: 3rem; padding-left: 2rem; }
.step-number { position: absolute; left: -3.5rem; top: 0; width: 4rem; height: 4rem; background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; z-index: 2; box-shadow: var(--shadow-lg); border: 4px solid var(--gray-100); }
[data-theme="dark"] .step-number { border-color: var(--gray-800); }
.step-content { background: rgba(255, 255, 255, 0.05); border-radius: var(--radius-lg); padding: 1.5rem; border: 1px solid var(--gray-200); transition: transform 0.3s ease; }
.step-content:hover { transform: translateX(8px); border-color: var(--primary-300); }

/* DASHBOARD PREVIEW */
.dashboard-preview { background: var(--gray-200); border-radius: var(--radius-lg); padding: 1.5rem; }
[data-theme="dark"] .dashboard-preview { background: var(--gray-700); }
.chart-bar { background: linear-gradient(180deg, var(--primary-500) 0%, var(--primary-700) 100%); border-radius: 4px 4px 0 0; margin: 0 auto; width: 80%; transition: height 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); }

/* WHATSAPP CARD */
.whatsapp-card { background: linear-gradient(135deg, rgba(37, 211, 102, 0.05) 0%, rgba(37, 211, 102, 0.02) 100%); border: 2px solid rgba(37, 211, 102, 0.2); border-radius: var(--radius-xl); padding: 3rem; position: relative; overflow: hidden; }
.whatsapp-icon-wrapper { width: 5rem; height: 5rem; background: rgba(37, 211, 102, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 3px solid rgba(37, 211, 102, 0.3); margin: 0 auto 1.5rem; }
.whatsapp-feature { background: rgba(37, 211, 102, 0.08); border: 1px solid rgba(37, 211, 102, 0.15); border-radius: var(--radius-lg); padding: 1.5rem; transition: all 0.3s ease; }
.whatsapp-feature:hover { background: rgba(37, 211, 102, 0.12); border-color: rgba(37, 211, 102, 0.3); transform: translateY(-4px); }

/* STATS CARDS */
.stat-card { background: var(--gray-100); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 1.5rem; text-align: center; transition: all 0.3s ease; }
.stat-card:hover { background: var(--gray-200); border-color: var(--primary-300); transform: translateY(-2px); }
[data-theme="dark"] .stat-card { background: var(--gray-800); border-color: var(--gray-700); }
[data-theme="dark"] .stat-card:hover { background: var(--gray-700); }

/* ACCORDION */
.accordion-item { border: 1px solid var(--gray-200); border-radius: var(--radius-md); margin-bottom: 1rem; overflow: hidden; }
.accordion-button { width: 100%; padding: 1.25rem; text-align: left; background: var(--gray-100); border: none; cursor: pointer; font-weight: 600; display: flex; align-items: center; gap: 1rem; transition: background-color 0.3s ease; }
.accordion-button:hover { background: var(--gray-200); }
.accordion-body { padding: 1.25rem; background: var(--gray-50); color: var(--gray-700); }
[data-theme="dark"] .accordion-button { background: var(--gray-800); color: var(--gray-100); }
[data-theme="dark"] .accordion-button:hover { background: var(--gray-700); }
[data-theme="dark"] .accordion-body { background: var(--gray-900); color: var(--gray-300); }

/* RESPONSIVE */
@media (max-width: 768px) {
    .process-timeline { padding-left: 2rem; }
    .step-number { left: -2.5rem; width: 3rem; height: 3rem; font-size: 1.25rem; }
    .step-content { padding: 1.25rem; }
    .whatsapp-card { padding: 1.5rem; }
    .whatsapp-icon-wrapper { width: 4rem; height: 4rem; }
    .hero-section { padding: 2rem 0; min-height: auto; }
    .hero-title { font-size: 2.25rem; }
    .hero-subtitle { font-size: 1.125rem; }
}

@media (max-width: 480px) {
    .process-timeline { padding-left: 1.75rem; }
    .step-number { left: -2.25rem; }
    .founder-offer { padding: 1.5rem; margin: 1rem; }
}

/* RTL SUPPORT */
[dir="rtl"] .process-timeline { padding-left: 0; padding-right: 3rem; }
[dir="rtl"] .process-timeline::before { left: auto; right: 1.5rem; }
[dir="rtl"] .process-step { padding-left: 0; padding-right: 2rem; }
[dir="rtl"] .step-number { left: auto; right: -3.5rem; }
[dir="rtl"] .step-content:hover { transform: translateX(-8px); }