/* Le sélecteur * cible TOUS les éléments */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    padding: 60px 0 80px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #f0f0f0;
    font-family: Arial, sans-serif;
}
/* Style du titre */
header {
    padding: 20px 20px;
    background-color: #ffffff; /* Un gris très léger pour le fond */
    border-bottom: 2px solid #0056b3; /* Une ligne bleue pour le côté technique */
}
header h1 {
    margin: 0;
    font-size: clamp(1rem, 2.5vw, 1.5rem); /* Taille responsive */
    font-weight: 600;
    color: #333;
    text-transform: uppercase;
}
header p {
    margin-top: 10px;
    font-style: italic;
    color: #666;
}
/* Style de la page en general */
header,
.contenu,
main {
    flex: 1; /* <--- C'est ICI qu'il "pousse" le footer vers le bas */
    display: flex;
    flex-direction: column;
    max-width: 800px;
    width: 100%; /* Pour s'assurer qu'il prend bien sa place sur mobile */
    margin: 0 auto;
    gap: 30px;
    text-align: center;
    align-items: center; /* Pour que les images et figures soient bien centrées */
    box-sizing: border-box;
}
/* couleur des liens dans main */
main a {
    color: #2ecc71; /* couleur par défaut des liens dans main */
}
main a:hover {
    color: #ff9800; /* couleur par défaut des liens dans main */
}

.contenu img {
    max-width: 100%;
    height: auto;
}

#selfie {
    display: flex; /* Active le mode côte à côte */
    align-items: center; /* Centre verticalement le texte par rapport à l'image */
    gap: 15px; /* Crée un espace entre l'image et le texte */
    align-self: flex-start;
    margin-top: 20px;
    width: auto; /* On laisse le contenu définir la largeur */
    max-width: 100%; /* Sécurité pour le mobile */
}
#selfie p {
    margin: 0; /* Supprime les marges par défaut qui pourraient décaler le texte */
    text-align: left; /* Aligne le texte à gauche */
}
/* Ajustement pour l'image dans le selfie */
#selfie img {
    width: 30vw; /* Taille mobile */
    max-width: 150px; /* Taille max PC */
    height: auto;
    border-radius: 8px; /* Optionnel : arrondit un peu les coins */
}

/* Style des boutons secondaires.*/
.btn-sec {
    display: flex; /* Active le mode flexible */
    justify-content: center; /* Centre les boutons horizontalement */
    gap: 20px; /* Crée un espace fixe entre les boutons (remplace margin) */
    flex-wrap: wrap; /* Permet de passer à la ligne proprement si l'écran est trop petit */
    padding: 20px;
}
.btn-sec a {
    display: inline-block; /* Permet au navigateur de respecter le padding et les bordures */
    padding: 15px 25px; /* Un padding équilibré */
    text-decoration: none; /* Enlève le soulignement par défaut */
    text-align: center;
    color: #ff9800;
    border: 1px solid;
}
.btn-sec a:hover {
    color: #2ecc71;
}

/* Style du bouton contact */
.btn-contact {
    display: inline-block;
    margin-top: 20px; /* Ajoute de l'espace au-dessus du bouton */
    padding: 12px 24px;
    background-color: #ff9800; /* Couleur bleue (modifiable) */
    color: white;
    text-decoration: none; /* Enlève le soulignement du lien */
    border-radius: 5px; /* Arrondit les angles du bouton */
    font-family: sans-serif;
    font-weight: bold;
    transition: background-color 0.3s ease; /* Rend le changement de couleur fluide lors du survol */
}
.btn-contact:hover {
    background-color: #2ecc71;
    color: white;
}

/* Style du formulaire dans la page contact */
form {
    display: flex;
    flex-direction: column; /* Force les champs les uns sous les autres */
    width: 90%; /* moins large pour les mobiles */
    max-width: 500px; /* Évite que le formulaire soit trop large sur ordi */
    gap: 15px; /* Crée un espace automatique entre chaque champ */
}
/* On cible les champs de texte, d'email et la zone de message */
form input[type="text"],
form input[type="email"],
form textarea {
    /* 1. Correction de la largeur */
    width: 100%; /* Prend toute la largeur disponible */
    box-sizing: border-box; /* INDISPENSABLE : inclut le padding et les bords dans le 100% */

    /* 2. Correction de la hauteur et confort d'écriture */
    padding: 12px; /* Espace entre le texte et le bord du cadre */
    font-size: 16px; /* Évite le zoom automatique sur iPhone au clic */

    /* 3. Esthétique */
    border: 1px solid #ccc; /* Une bordure fine et grise */
    border-radius: 4px; /* Des angles légèrement arrondis */
}

/* Hauteur spécifique pour la zone de message */
form textarea {
    min-height: 120px; /* Pour qu'on puisse écrire plusieurs lignes */
    resize: vertical; /* Permet à l'utilisateur d'agrandir seulement en hauteur */
}
form label {
    font-weight: bold;
    margin-bottom: -10px; /* Rapproche le titre du cadre pour montrer qu'ils vont ensemble */
    font-family: sans-serif;
}

/* enleve l'espace en haut du body en haut pourque l'image soit tout en haut */
.page-top-image {
    padding: 0 0 80px;
}

/* Style du pied de page */
footer {
    margin-top: 40px; /* Ajoute un espace au-dessus du footer */
    border-top: 1px solid #ccc; /* Optionnel : une petite ligne de séparation */
    text-align: center;
    padding: 20px;
    font-size: 0.9rem;
    background-color: #f4f4f4;
}
footer a {
    color: #333;
    text-decoration: none;
}
footer a:hover {
    text-decoration: underline;
}
/* Style de l'icone Facebook */
.fb-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: #1877f2;
    color: white;
    font-weight: bold;
    font-size: 12px;
    line-height: 14px;
    text-align: center;
    border-radius: 3px;
    margin-right: 4px;
}
/* Style de l'icone Telephone */
.phone-icon {
    display: inline-block;
    width: 14px; /* largeur hauteur du bloc */
    height: 14px;
    background-color: white;
    color: #d32f2f;
    font-weight: bold;
    font-size: 12px; /* icône plus petite */
    line-height: 14px; /* centré verticalement, meme valeur que height */
    text-align: center;
    margin-right: 3px;
    /*border: 1px solid red;  optionnel : contour rouge */
}
