/* ===== Global Styles ===== */ * { margin: 0; padding: 0; box-sizing: border-box; } :root { /* Palette de Couleurs Professionnelle */ --primary-dark: #1e3a5f; /* Bleu foncé - Confiance */ --primary-blue: #2563eb; /* Bleu vif */ --primary-light: #3b82f6; /* Bleu clair */ --success-green: #10b981; /* Vert succès */ --warning-orange: #f97316; /* Orange action */ --danger-red: #ef4444; /* Rouge danger */ --dark-gray: #1f2937; /* Gris foncé texte */ --light-gray: #f3f4f6; /* Gris clair fond */ --border-gray: #e5e7eb; /* Gris bordure */ --white: #ffffff; /* Blanc */ /* Typographie */ --font-primary: "Inter", "Segoe UI", "Roboto", sans-serif; /* Espacements */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --spacing-2xl: 3rem; /* Radius */ --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-xl: 1rem; /* 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); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1); } body { font-family: var(--font-primary); background-color: var(--light-gray); color: var(--dark-gray); line-height: 1.6; font-size: 1rem; } html { scroll-behavior: smooth; } /* ===== Typography ===== */ h1 { font-size: 2.5rem; font-weight: 700; line-height: 1.2; margin-bottom: var(--spacing-lg); } h2 { font-size: 2rem; font-weight: 700; line-height: 1.2; margin-bottom: var(--spacing-lg); } h3 { font-size: 1.5rem; font-weight: 600; line-height: 1.3; margin-bottom: var(--spacing-md); } h4 { font-size: 1.25rem; font-weight: 600; line-height: 1.4; margin-bottom: var(--spacing-md); } p { margin-bottom: var(--spacing-md); } a { color: var(--primary-blue); text-decoration: none; transition: color 0.2s ease; } a:hover { color: var(--primary-dark); text-decoration: underline; } /* ===== Responsive ===== */ @media (max-width: 768px) { h1 { font-size: 1.875rem; } h2 { font-size: 1.5rem; } h3 { font-size: 1.25rem; } } /* ===== Scrollbar ===== */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: var(--light-gray); } ::-webkit-scrollbar-thumb { background: var(--border-gray); border-radius: var(--radius-md); } ::-webkit-scrollbar-thumb:hover { background: var(--dark-gray); } /* ===== Animation ===== */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .fade-in { animation: fadeIn 0.3s ease-in-out; } .spinner { animation: spin 1s linear infinite; } .pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }