/* --- Variables de Couleur (selon votre demande) --- */
:root {
    --primary-color: #d35400; /* Rouge/Orangé (utilisé pour les CTA et titres d'accent) */
    --secondary-color: #e67e22; /* Complémentaire orange (pour le survol) */
    
    /* Fond gris plus soutenu (Corps de la page) */
    --bg-color: #e0e0e0;       

    /* Gris foncé pour le bandeau et le pied de page */
    --dark-grey: #333333;

    --card-bg-color: #ffffff;  /* Fond blanc pour les cartes/sections principales */
    --text-color: #333333;     /* Texte principal (gris foncé) */
    --light-text-color: #606060; /* Texte secondaire */
}

/* --- Réglages Globaux --- */
body {
    margin: 0;
    padding: 0;
    font-family: 'Lato', Arial, sans-serif; 
    background-color: var(--bg-color);
    color: var(--text-color);
    line-height: 1.6;
}

.container {
    max-width: 1024px; 
    margin: 0 auto;
    padding: 0 25px; 
}

/* --- Barre de Navigation (Header) --- */
.navbar {
    background-color: var(--dark-grey); 
    /* Augmentation de la hauteur du bandeau */
    padding: 25px 0; 
}

.navbar .container {
    display: flex;
    align-items: center;
    gap: 20px; /* Espace entre le logo et le texte */
}

.navbar .logo {
    font-size: 26px; 
    font-weight: 700;
    color: white; /* Logo en BLANC comme demandé */
    text-decoration: none; /* Retirer le soulignement de lien */
    
    /* Bordure blanche de 5px sans coin arrondi */
    border: 5px solid white;
    padding: 5px 10px; 
    display: inline-block; 
    transition: background-color 0.3s ease;
}

.navbar .logo:hover {
    background-color: rgba(255, 255, 255, 0.1); /* Léger fond au survol */
}

/* Texte "Support Informatique" */
.navbar .nav-text {
    color: white; 
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 1px;
}


/* --- Section Principale (Hero) --- */
.hero {
    text-align: center;
    padding: 80px 0; 
    background-color: var(--card-bg-color);
    box-shadow: 0 1px 3px rgba(0,0,0,0.05); /* Ligne de séparation légère */
}

.hero h1 {
    font-size: 48px; 
    margin-bottom: 15px;
    color: var(--text-color);
    font-weight: 900;
}

.hero .subtitle {
    font-size: 22px;
    color: var(--light-text-color);
    margin-bottom: 40px;
}

/* --- Boutons d'action (CTA) --- */
.download-buttons {
    display: flex;
    justify-content: center;
    gap: 20px; 
    flex-wrap: wrap; 
}

.cta-button {
    display: inline-block;
    padding: 18px 35px; 
    font-size: 19px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px; 
    transition: all 0.3s ease;
    /* Suppression des ombres pour un style plat */
    box-shadow: none !important;
    transform: none !important;
}

/* Bouton Principal (Orange/Rouge) - Style Plat (Flat) */
.cta-button.primary {
    background-color: var(--primary-color);
    color: white;
    border: none;
}
.cta-button.primary:hover {
    background-color: var(--secondary-color); 
}

/* Bouton Secondaire (Contours) - Style Plat (Flat) */
.cta-button.secondary {
    background-color: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}
.cta-button.secondary:hover {
    background-color: var(--primary-color);
    color: white;
}


/* --- Section "Comment ça marche ?" --- */
.how-it-works {
    padding: 70px 0;
    text-align: center;
}

.how-it-works h2 {
    font-size: 36px;
    margin-bottom: 50px;
    color: var(--primary-color); 
}

.steps {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.step {
    background-color: var(--card-bg-color);
    padding: 30px;
    border-radius: 10px; 
    box-shadow: none; /* Suppression de l'ombre */
    flex-basis: 30%; 
    border-top: 5px solid var(--primary-color); /* Ligne d'accentuation en haut */
    transition: transform 0.3s ease, border-color 0.3s ease;
    border: 1px solid #dcdcdc; /* Bordure subtile pour délimiter */
    transform: none; /* Suppression de l'effet 3D */
}
.step:hover {
    transform: none; 
    border: 1px solid var(--primary-color); 
}

.step-number {
    font-size: 28px; 
    font-weight: 700;
    color: white;
    background-color: var(--primary-color); 
    width: 60px; 
    height: 60px;
    line-height: 60px;
    border-radius: 50%;
    margin: 0 auto 25px auto;
    box-shadow: none;
}

.step h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

/* --- Section Bénéfices --- */
.benefits {
    background-color: var(--card-bg-color);
    padding: 70px 0;
    margin-top: 40px; 
    border-top: 1px solid #dcdcdc; 
    border-bottom: 1px solid #dcdcdc;
}

.benefits .container {
    display: flex;
    gap: 60px; 
}

.benefit-item {
    flex-basis: 50%;
}

.benefit-item h3 {
    font-size: 26px;
    color: var(--text-color); 
    margin-bottom: 15px;
}
.benefit-item p {
    color: var(--light-text-color);
}

/* --- Pied de page (Footer) --- */
.footer {
    text-align: center;
    padding: 30px 0;
    background-color: var(--dark-grey); 
    color: #f4f4f4;
    margin-top: 40px;
}

/* Lien dans le pied de page (Retour au site principal) */
.footer-link {
    color: white;
    text-decoration: none; 
    font-weight: 700;
    transition: color 0.3s ease;
}
.footer-link:hover {
    color: var(--primary-color); 
    text-decoration: underline;
}

/* --- Responsive (Pour téléphones) --- */
@media (max-width: 768px) {
    .container {
        padding: 0 15px;
    }
    
    /* Le bandeau passe en colonne sur mobile */
    .navbar .container {
        flex-direction: column;
        gap: 10px;
    }
    
    .hero h1 {
        font-size: 36px;
    }
    .hero .subtitle {
        font-size: 18px;
    }

    .download-buttons {
        flex-direction: column;
        gap: 10px;
    }
    .cta-button {
        width: 90%;
        margin: 0 auto;
    }

    .steps, .benefits .container {
        flex-direction: column;
        gap: 25px;
    }
    
    .step {
        border-top: none;
        border-left: 5px solid var(--primary-color); /* Ligne d'accentuation à gauche en mobile */
    }
}
