
/* ===================== RESET ===================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Arial", sans-serif;
    scroll-padding-top: 90px;
    scroll-behavior: smooth;
}

/* ===================== BANDEAU (HEADER) ===================== */
/* LOGO */
/* Topbar */
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px ;
    background: #0a2a43;
    color: white;
    position: sticky;
    top: 0;
    z-index: 100;

    /*gap: 3%*/
}

/* Logo */
.logo-img {
    height: 70px;
    width: auto;
    display: block;
    border-radius: 8px;
    transition: transform 0.3s;
}

.logo-img:hover {
    transform: scale(1.05);
}

/* Nom de l'entreprise */
.company-name {
    font-size: 24px;
    font-weight: bold;
    color: white;
    text-align: center;
    flex: 1;
}

/* Style commun pour tous les boutons */
.btn-nav {
    padding: 12px 14px;         /* Uniformiser la taille des boutons */       
    background: #134d74;        /* Remettre la couleur de fond initiale (bleu) */
    color: white;               /* Couleur du texte */
    border-radius: 5px;         /* Coins arrondis */
    text-decoration: none;      /* Supprimer le souligné */
    font-weight: bold;          /* Texte en gras */
    transition: background-color 0.3s ease, transform 0.3s ease; /* Transition fluide */
    margin: 0 10px;             /* Espacement entre les boutons */
    border: none;               /* Supprimer la bordure blanche par défaut */
}

/* Effet au survol des boutons */
.btn-nav:hover {
    background-color: #1e73b5;  /* Couleur au survol */
    transform: scale(1.05);      /* Légère agrandissement au survol */
}

/* Style du menu de navigation */
.topnav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    background-color: transparent;
    position: relative;
}

/* Liens */
.nav-links {
    display: flex;
    gap: 20px;
}

/* Bouton hamburger */
.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
    transform: translateY(-50%);
}

.menu-toggle span {
    background-color: #fff; /* barres blanches */
    border: solid #fff;
}

.menu-toggle span {
    width: 25px;
    height: 3px;
    background-color: #000;
    transition: 0.3s;
}

/* 🔥 Responsive */
@media (max-width: 768px) {
    .menu-toggle {
        display: flex;
        position: absolute;
        right: 20px;
        top: 15px;
    }

    .nav-links {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 50px;
        right: 20px;
        background-color: white;
        padding: 15px;
        border-radius: 8px;
        box-shadow: 0 5px 20px rgba(0,0,0,0.15);
    }

    .nav-links.active {
        display: flex;
    }
}




/* ===================== HERO ===================== */
.hero {
    position: relative;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    padding: 0 20px;
    overflow: hidden;
    background: url('../img/font.png') no-repeat center center;
    background-size: cover; 
    text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000; 
}


.hero h1,
.hero p,

.hero h1 {
    font-size: 48px;
    margin-bottom: 20px
}

.hero p {
    font-size: 20px;
    margin-bottom: 30px;
}

.btn {
    background: white;
    color: #1e73b5;
    padding: 12px 25px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    text-shadow: none
}

.btn:hover {
    background: #eef5ff;
}


/* ===================== SECTIONS ===================== */
section {
    padding: 80px 40px;
}
.btn-nav
.services h2,
.contact h2,
.expertise h2 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 32px;
    color: #0a2a43;
}

/* ===================== SERVICES ===================== */
.services h2 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 32px;
    color: #0a2a43;
}

.cards {
    display: flex;  
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.card {
    width: 280px;
    background: white;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.services-intro {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px auto;
    font-size: 18px;
    color: #134d74;
}

/* Cartes services RH */
.cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.card {
    background: white;
    padding: 25px 20px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    width: 300px;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Icone au dessus du titre */
.card-icon {
    font-size: 32px;
    margin-bottom: 15px;
}

/* Titres cartes */
.card h3 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #0a2a43;
}

/* Texte cartes */
.card p {
    font-size: 16px;
    color: #134d74;
    line-height: 1.5;
    text-align: justify; 
}


/* ===================== EXPERTISE ===================== */
/* SECTION EXPERTISE */
/* Section */
.expertise {
    padding: 60px 40px;
    text-align: center;
    background-color: #f0f4f8;
}

.expertise h2 {
    font-size: 32px;
    margin-bottom: 50px;
    color: #0a2a43;
}

/* ---- Grande case Pourquoi l'entreprise ---- */

.why-big-box {
    background: #ffffff;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    max-width: 1200px;
    margin: 0 auto 40px auto;
    text-align: left;
    margin-top: 40px; 
}

.why-big-box h3 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #0a2a43;
}

.why-big-box p {
    font-size: 18px;
    color: #134d74;
    line-height: 1.7;
}

/* ---- Petite case Qui suis-je ---- */

.expert-main-box {
    display: flex;
    align-items: center;
    gap: 25px;
    background: #ffffff;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    max-width: 1000px;
    margin: 0 auto;
    height: auto;
}

/* Photo réduite */
.expert-small-photo {
    width: 200px;
    height: 220px;
    object-fit: cover;
    object-position: center top;  /* ← coupe vers le bas */
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.expert-text-block {
    text-align: left;
    flex: 1;
}

.expert-text-block h3 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #0a2a43;
}

.expert-text-block p {
    font-size: 17px;
    line-height: 1.6;
    color: #134d74;
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
    .expert-main-box {
        flex-direction: column;
        text-align: center;
    }

    .expert-photo-block {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .expert-text-block {
        text-align: center;
    }
}




/* ===================== CONTACT ===================== */
.contact {
    background: #f2f7fc;
    text-align: center;
    padding: 80px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.contact p {
    font-size: 18px;
    margin-bottom: 40px;
    color: #134d74;
    max-width: 600px;

    text-align: justify;
}

.contact h2 {
    text-align: justify;
}

.contact-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: #1e73b5;
    padding: 20px 30px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    transition: transform 0.2s, background 0.2s;
}

.contact-card:hover {
    transform: translateY(-5px);
    background: #134d74;
}

.contact-icon {
    font-size: 28px;
}

.contact-email {
    color: white;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.2s;
}

.contact-email:hover {
    color: #eef5ff;
}


/* Responsivité : Styles pour les petits écrans (tablettes et mobiles) */
@media screen and (max-width: 768px) {
    /* Réduire le padding de la section pour les écrans plus petits */
    .contact {
        padding: 60px 20px;
    }

    /* Ajuster la taille du texte du titre */
    .contact h2 {
        font-size: 26px;
        margin-bottom: 15px;
    }

    /* Ajuster la taille du texte du paragraphe */
    .contact p {
        font-size: 16px;
        margin-bottom: 30px;
        max-width: 90%; /* Ajuster la largeur du texte */
    }

    /* Disposition des cartes de contact sur petits écrans */
    .contact-card {
        flex-direction: column;  /* Empiler les éléments dans les cartes sur petits écrans */
        gap: 10px;  /* Réduire l'écart entre les éléments */
        width: 90%;  /* Limiter la largeur des cartes */
        padding: 15px 20px;  /* Réduire les padding */
    }

    /* Ajuster la taille de l'icône de contact */
    .contact-icon {
        font-size: 24px;
    }

    /* Ajuster la taille de l'email */
    .contact-email {
        font-size: 18px;
    }
}
/* Responsivité pour très petits écrans (mobiles très étroits) */
@media screen and (max-width: 480px) {
    /* Réduire encore le padding de la section */
    .contact {
        padding: 50px 15px;
    }

    /* Réduire la taille du texte du titre */
    .contact h2 {
        font-size: 22px;
        margin-bottom: 10px;
    }

    /* Réduire la taille du texte du paragraphe */
    .contact p {
        font-size: 14px;
        margin-bottom: 20px;
        max-width: 90%; /* Toujours une largeur fluide */
    }

    /* Disposition des cartes de contact sur mobile */
    .contact-card {
        flex-direction: column;  /* Empiler verticalement sur mobile */
        width: 90%;
        padding: 10px 15px;
        gap: 8px;  /* Réduire l'écart entre les éléments */
    }

    /* Réduire la taille de l'icône */
    .contact-icon {
        font-size: 20px;
    }

    /* Réduire la taille de l'email */
    .contact-email {
        font-size: 16px;
    }
}

/* ===================== FOOTER ===================== */
footer {
    padding: 20px;
    text-align: center;
    background: #0a2a43;
    color: white;
}



/*=====================Animation_scrolle=================*/
.scroll-animation {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s ease-out;
}

.scroll-animation.show {
    opacity: 1;
    transform: translateY(0);
}



/*================Style Grossissement au survol ===============*/
/* --- Effet zoom sur TOUTES les cartes / blocs / boîtes du site --- */
.card,
.flip-card,
.expert-box,
.why-box,
.service-box,
.expert-large-photo,
.expert-text,
.photo-col img {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card:hover,
.flip-card:hover,
.expert-box:hover,
.why-box:hover,
.service-box:hover,
.photo-col img:hover {
    transform: scale(1.04);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}


/*=========LES FORMULES========*/
/* Section Nos Formules */
.formules {
    padding: 60px 40px;
    text-align: center;
    background-color: #f9f9f9;
}

.formules-p {
    color: #134d74;
}

.formules h2 {
    font-size: 32px;
    margin-bottom: 30px;
    color: #0a2a43;
}

/* Conteneur des cartes */
.formules-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin-top: 30px;
}

/* Carte individuelle */
.formule-card {
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    padding: 30px;
    flex: 1 1 300px;
    max-width: 425px;
    text-align: left;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.price {
    white-space: nowrap;
}

.ttc {
    font-size: 12px;
    vertical-align: super;
}

.formule-card:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.formule-card h3 {
    font-size: 22px;
    color: #134d74;
    margin-bottom: 15px;
}

.formule-card p {
    font-size: 16px;
    color: #134d74;
    line-height: 1.6;
    margin-bottom: 15px;
}

.formule-card ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 15px;
}

.formule-card ul li {
    margin-bottom: 8px;
    padding-left: 18px;
    position: relative;

    text-align: justify;    
}

.formule-card ul li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: #134d74;
    font-weight: bold;
}



/*=================== SECTION SUR L"OUTIL=====================*\
/* ===================== SECTION "Notre Outil" ===================== */
.outil {
    padding: 50px 20px;
    background-color: #f4f4f4;
    text-align: center;
}

.outil h2 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 32px;
    color: #0a2a43;
}

.outil-intro {
    font-size: 1.2rem;
    margin-bottom: 40px;
    color: #134d74;
}


.outil-steps {
    display: flex;
    flex-direction: column;
    gap: 50px; /* Augmenter l'espacement entre les étapes */
    align-items: center;
}

.outil-step {
    display: flex;
    flex-direction: row;
    gap: 30px; /* Espacement entre l'image et le texte */
    align-items: center;
    justify-content: center;
    width: 90%;  /* Augmenter la largeur des étapes */
    max-width: 1200px;  /* Limiter à une largeur maximale pour garder un rendu propre */
    padding: 30px;
    background-color: #fff; /* Fond blanc pour bien délimiter chaque étape */
    border-radius: 12px; /* Coins arrondis pour chaque étape */
    box-shadow: 0 8px 20px rgba(0,0,0,0.1); /* Ombre légère pour séparer les étapes */
}

.outil-step.reverse {
    flex-direction: row-reverse;
}

/* Conteneur pour l'image et le texte */
.outil-step-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 40px; /* Espacement entre l'image et le texte */
}

/* Style pour les images */
.outil-step-image {
    max-width: 100%;  /* L'image s'adapte à la taille de son conteneur */
    height: auto;     /* Maintient le ratio de l'image */
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    max-width: 400px;  /* Limite la taille des images pour un affichage cohérent */
    transition: 0.5s;
}

.outil-step-image:hover {
    transform: scale(2); 
}

/* Style du texte */
.outil-step-text {
    max-width: 600px;  /* Augmenter la largeur du texte pour l'adapter aux étapes plus larges */
    text-align: left;
    color: #333;
}

.outil-step-text h3 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #0a2a43;
}

.outil-step-text p {
    font-size: 16px;
    color: #134d74;
    line-height: 1.5;
    text-align: justify; 
}



/* RESPONSIVE: Ajustement sur petits écrans */
@media (max-width: 768px) {
    .outil-step {
        flex-direction: column;  /* Empile les étapes verticalement sur les petits écrans */
        gap: 40px;  /* Réduit l'espacement entre les étapes sur mobile */
    }

    .outil-step.reverse {
        flex-direction: column;  /* Inverse l'ordre des éléments sur mobile */
    }

    .outil-step-content {
        flex-direction: column;
        gap: 20px;  /* Réduit l'espacement sur mobile */
    }

    .outil-step-image {
        max-width: 90%;  /* Réduit la taille de l'image sur mobile */
    }

    .outil-step-text {
        max-width: 90%;  /* Réduit la largeur du texte sur mobile */
    }
}




/*=============JUSTIFICATION DU TEXT =======================*/
/* ===================== JUSTIFICATION DU TEXTE ===================== */
body,
.outil h3,
.outil h2,
.expertise p,
.expertise h3,
.contact p,
.contact h2,

.services h3,
.why-big-box p,
.formule-card p,
.formules-container p {
    text-align: justify;  
}


/*=====================CENTRAGE TEXTE NECESSAIRE=========================*/
body,
.services-intro p, 
.services h2,
.outil h2,
.outil-intro{
    text-align: center;  
    justify-content: center;
}


