/* 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;
}
/* Reset minimal utile */
body {
  margin: 0;
}

/* 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 */
}
/* 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 pour que 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 */
}
