/* ============================================
   APPSM - FEUILLE DE STYLE PRINCIPALE
   Fichier: css/style.css
   Description: Variables, Reset, Styles globaux
============================================ */

/* ============================================
   1. VARIABLES CSS (Couleurs, Ombres, Radius)
============================================ */
:root {
  /* Couleurs principales basées sur le logo APPSM */
  --purple: #5b2d8e;
  --purple-dark: #4a2275;
  --purple-light: #7b4bae;

  --orange: #e8672a;
  --orange-dark: #d05a20;
  --orange-light: #f28c5a;

  --navy: #1b2a4a;
  --navy-dark: #0f1d35;
  --navy-light: #2a3d63;

  /* Couleurs neutres */
  --white: #ffffff;
  --off-white: #f8f7fc;
  --gray-100: #f3f2f7;
  --gray-200: #e8e6ef;
  --gray-300: #d1cfd9;
  --gray-400: #a9a6b5;
  --gray-500: #7a778a;
  --gray-600: #5a5768;

  /* Dégradés */
  --gradient-purple: linear-gradient(135deg, #5b2d8e 0%, #7b4bae 100%);
  --gradient-orange: linear-gradient(135deg, #e8672a 0%, #f28c5a 100%);
  --gradient-navy: linear-gradient(135deg, #1b2a4a 0%, #2a3d63 100%);
  --gradient-hero: linear-gradient(
    135deg,
    #1b2a4a 0%,
    #5b2d8e 50%,
    #e8672a 100%
  );

  /* Ombres */
  --shadow-sm: 0 1px 3px rgba(91, 45, 142, 0.08);
  --shadow-md: 0 4px 15px rgba(91, 45, 142, 0.1);
  --shadow-lg: 0 10px 40px rgba(91, 45, 142, 0.15);
  --shadow-xl: 0 20px 60px rgba(91, 45, 142, 0.2);

  /* Bordures arrondies */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 30px;

  /* Transitions */
  --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast: all 0.2s ease;
}

/* ============================================
   2. RESET CSS
============================================ */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: "Inter", sans-serif;
  color: var(--navy);
  background: var(--white);
  overflow-x: hidden;
  line-height: 1.7;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   3. TYPOGRAPHIE GLOBALE
============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
  line-height: 1.3;
  font-weight: 700;
  color: var(--navy);
}

p {
  line-height: 1.7;
}

a {
  text-decoration: none;
  color: inherit;
  transition: var(--transition);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul,
ol {
  list-style: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* ============================================
   4. CONTENEUR PRINCIPAL
============================================ */
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ============================================
   5. UTILITAIRES
============================================ */
.text-center {
  text-align: center;
}

.text-purple {
  color: var(--purple);
}

.text-orange {
  color: var(--orange);
}

.text-navy {
  color: var(--navy);
}

.bg-white {
  background: var(--white);
}

.bg-gray {
  background: var(--off-white);
}

/* ============================================
   6. SCROLLBAR PERSONNALISÉE
============================================ */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: var(--gray-100);
}

::-webkit-scrollbar-thumb {
  background: var(--gradient-purple);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--purple-dark);
}

/* ============================================
   7. SÉLECTION DE TEXTE
============================================ */
::selection {
  background: var(--orange);
  color: var(--white);
}

::-moz-selection {
  background: var(--orange);
  color: var(--white);
}
