/* =========================================
   1. VARIABLES & RESET DE BASE
========================================= */
:root {
    --sorbonne-navy: #003366;
    --sorbonne-sky: #66CCFF;  
    --guinea-red: #E21B22;   
    --guinea-yellow: #FEDA1D; 
    --guinea-green: #00994C;  
    
    --primary-color: var(--sorbonne-navy);
    --secondary-color: var(--guinea-red);  
    --accent-color: var(--guinea-green);   
    --culture-color: var(--guinea-yellow); 
    
    --text-color: #333333;
    --text-light: #ffffff;
    --light-bg: #f8f9fa; 
    --white: #ffffff;
    
    --font-main: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-main);
    color: var(--text-color);
    line-height: 1.6;
    background-color: var(--white);
}

/* =========================================
   2. CLASSES UTILITAIRES GLOBALES
========================================= */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.text-center { text-align: center; }
.section-padding { padding: 60px 0; }
.bg-light { background-color: var(--light-bg); }

.section-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 40px;
    color: var(--primary-color);
}

/* =========================================
   3. BOUTONS
========================================= */
.btn {
    display: inline-block;
    padding: 10px 25px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: var(--primary-color);
    color: var(--white);
    border: 2px solid var(--primary-color);
}

.btn-primary:hover {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
}

.btn-secondary {
    background-color: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}

.btn-secondary:hover {
    background-color: var(--primary-color);
    color: var(--white);
}

/* =========================================
   GRILLES (Structure)
========================================= */
.grid-3-cols, .grid-2-cols {
    display: grid;
    gap: 30px;
}

.grid-3-cols { grid-template-columns: repeat(3, 1fr); }
.grid-2-cols { grid-template-columns: repeat(2, 1fr); }

/* RESPONSIVE BASE */
@media (max-width: 768px) {
    .section-title {
        font-size: 2rem;
    }
    .grid-3-cols, .grid-2-cols {
        grid-template-columns: 1fr; 
    }
}