/* ==============================================
   BASE.CSS — Variables, Reset, Typographie
   Modifie ici les couleurs et polices globales
   ============================================== */

/* Mode sombre (défaut) */
body {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
}

html, body {
  min-height: 100vh;
}

body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
    max-width: 100vw;
    overflow-x: hidden;
}

main {
    min-width: 0; 
}



:root {
    --bg-color:         #0d1117;
    --text-color:       #e6edf3;
    --alpine-blue:      #005CB9;
    --alpine-blue-hover:#004a94;
    --card-bg:          #161b22;
    --card-border:      #30363d;
    --accent-white:     #ffffff;
    --shadow:           0 8px 24px rgba(0,0,0,0.5);
    --radius:           12px;
    --transition:       all 0.3s ease;
}

/* Mode clair */
body.light-mode {
    --bg-color:   #f6f8fa;
    --text-color: #24292f;
    --card-bg:    #ffffff;
    --card-border:#d0d7de;
    --shadow:     0 8px 24px rgba(0,0,0,0.08);
}


body.light-mode,
html.light-mode body {
    --bg-color:   #f6f8fa;
    --text-color: #24292f;
    --card-bg:    #ffffff;
    --card-border:#d0d7de;
    --shadow:     0 8px 24px rgba(0,0,0,0.08);
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Body */
body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    line-height: 1.7;
    transition: var(--transition);
}

/* Titres */
h1, h2, h3, h4 { font-weight: 800; margin-bottom: 1rem; }
h1 span { color: var(--alpine-blue); }

/* Utilitaires */
.text-center { text-align: center; }
.mt-2  { margin-top: 0.5rem; }
.mt-4  { margin-top: 2rem; }
.mt-5  { margin-top: 3rem; }
.mb-5  { margin-bottom: 3rem; }
.w-100 { width: 100%; display: block; }

/* Conteneur */
.container { max-width: 1500px; margin: 0 auto; padding: 0 20px; }

/* Sections */
.py-section  { padding: 5rem 0; }
.section-alt {
    background-color: var(--card-bg);
    padding: 5rem 0;
    border-top: 1px solid var(--card-border);
    border-bottom: 1px solid var(--card-border);
}


img {
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}