/* Défilement fluide vers les ancres + petit décalage haut */
html{ scroll-behavior: smooth; }
:target{ scroll-margin-top: 20px; }

/* ============================================================
   Équipe — ossature commune : ancres latérales + contenu
   ============================================================ */
.equipe{
    display: flex;
    justify-content: center;
    gap: 4%;
    padding: 0 0 5% 0;
}

/* ===== Barre latérale d'ancres ===== */
.equipe .ancres{
    width: 210px;
    background: #ffffff;
    padding: 30px 16px;
    align-self: flex-start;
    position: sticky;
    top: 90px;
}
.equipe .ancres nav ul{
    list-style: none;
    margin: 0;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background-color: rgb(245, 245, 245);
}
.equipe .ancres nav li{ margin-bottom: 14px; }
.equipe .ancres nav a{
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 14px 20px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    text-align: center;
    color: #8a8a8a;
    text-decoration: none;
    transition: color .2s, background .2s;
}
.equipe .ancres nav a:hover{ color: #111; }
.equipe .ancres nav a.active{
    background: #fff;
    color: #111;
    text-shadow: 0 0 .6px currentColor, 0 0 .6px currentColor;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

/* ===== Zone de contenu ===== */
.equipe .sections{ width: 66%; padding-top: 2%; }
.equipe .sections > div + div{ margin-top: var(--espace-rubriques); }
.equipe .sections h2{
    margin: 0 0 18px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 34px;
    color: #2e9b8a;
}
.equipe .sections hr{
    border: none;
    border-top: 1px solid #e3e3e3;
    margin: 0 0 22px;
}
.equipe .lead{
    margin: 0 0 26px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #9a9a9a;
}

/* Encadré d'introduction : simple aplat gris, sans liseré */
.equipe .intro_accent{
    background: #f4f4f4;
    padding: 26px 30px;
}
.equipe .intro_accent p{
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #6a6a6a;
}
.equipe .intro_accent strong{ color: #2e9b8a; }

/* ===== Membres de l'équipe : cadre-photo + infos ===== */
.equipe .grille_direction{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}
.equipe .membre{
    display: flex;
    align-items: flex-start;
    gap: 18px;
    background: #f7f7f7;
    padding: 22px 24px;
    transition: transform .25s ease, box-shadow .25s ease;
}
.equipe .membre:hover{
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}

/* Cadre-photo : silhouette par défaut ; la vraie photo la recouvre.
   (silhouette relative à equipe.css → dossier FrontEnd/Images_accueil) */
.equipe .membre_photo{
    flex: none;
    width: 92px;
    height: 112px;
    border-radius: 10px;
    overflow: hidden;
    background:
        #eef2f1 center 60% / 54px no-repeat
        url("../../Images_accueil/Icones/user.svg");
    border: 1px solid #e0e5e4;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}
.equipe .membre_photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.equipe .membre_photo img.vide{ display: none; }   /* photo absente → la silhouette reste visible */

.equipe .membre_txt{ min-width: 0; }
.equipe .membre_nom{
    margin: 0 0 2px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #2b2b2b;
}
.equipe .membre_poste{
    display: block;
    margin-bottom: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #1a8f7a;
}
.equipe .membre_desc{
    margin: 0 0 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #8a8a8a;
}

/* Coordonnées : e-mail + contact entreprise, avec pictos SVG intégrés */
.equipe .membre_contact{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.equipe .membre_contact a{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12.5px;
    color: #5a5a5a;
    text-decoration: none;
    transition: color .2s ease;
    word-break: break-word;
}
.equipe .membre_contact a:hover{ color: #1c9b8e; }
.equipe .membre_contact a::before{
    content: "";
    flex: none;
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.equipe .c_mail a::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a8f7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}
.equipe .c_tel a::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a8f7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.6a16 16 0 0 0 6 6l1-1.2a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E");
}

/* ===== Postuler : formulaire de candidature ===== */
.equipe .candidature_form{
    font-family: Arial, Helvetica, sans-serif;
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 720px;
}
.equipe .cand_ligne{
    display: flex;
    gap: 18px;
}
.equipe .cand_ligne .cand_champ{ flex: 1 1 0; }
.equipe .cand_champ{
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.equipe .cand_champ label{
    font-size: 14px;
    color: #4a4a4a;
}
.equipe .cand_champ label span{ color: #d3241f; }        /* astérisque des champs requis */
.equipe .cand_champ input,
.equipe .cand_champ textarea{
    font-family: inherit;
    font-size: 14px;
    color: #2b2b2b;
    background: #ffffff;
    border: 1px solid #d9dadb;
    border-radius: 7px;
    padding: 10px 12px;
    transition: border-color .2s ease;
}
.equipe .cand_champ textarea{ resize: vertical; min-height: 110px; }
.equipe .cand_champ input:focus,
.equipe .cand_champ textarea:focus{
    outline: none;
    border-color: #1c9b8e;
}
/* Champ fichier (CV) : bouton "Parcourir" teinté marque */
.equipe .cand_champ input[type="file"]{ padding: 8px 12px; cursor: pointer; }
.equipe .cand_champ input[type="file"]::file-selector-button{
    font-family: inherit;
    font-size: 13px;
    color: #1a8f7a;
    background: #eef7f5;
    border: 1px solid #cfe7e2;
    border-radius: 5px;
    padding: 6px 12px;
    margin-right: 12px;
    cursor: pointer;
    transition: background .2s ease;
}
.equipe .cand_champ input[type="file"]::file-selector-button:hover{ background: #e2f1ee; }

/* Honeypot : masqué à l'humain, piège à robots */
.equipe .hp_champ{
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.equipe .cand_pied{
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.equipe .cand_envoyer{
    display: inline-block;
    padding: 13px 30px;
    background: #8dc63f;
    color: #ffffff;
    font-family: inherit;
    font-size: 15px;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: background .2s ease;
}
.equipe .cand_envoyer:hover{ background: #7ab52f; }
.equipe .cand_envoyer:disabled{ background: #b7d78c; cursor: default; }

/* Message de confirmation : caché tant que le formulaire n'est pas envoyé */
.equipe .cand_confirmation{
    margin: 0;
    font-size: 14px;
    color: #1a8f7a;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.equipe .candidature_form.is-sent .cand_confirmation{
    opacity: 1;
    visibility: visible;
}

/* Réduction sur petits écrans */
@media (max-width: 900px){
    .equipe .grille_direction{ grid-template-columns: 1fr; }
    .equipe .cand_ligne{ flex-direction: column; }
}
