/* Carte du formulaire */
.contact-card {
  max-width: 420px;
  margin: 60px auto;
  padding: 40px;
}

/* Titre */
.contact-card h1 {
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 2rem;
  color: #2c2c2c;
}

/* Formulaire */
form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Labels */
form label {
  font-weight: 600;
  color: #333;
  margin-bottom: -8px;
}

/* Champs texte */
form input,
form textarea {
  width: 100%;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 14px;
  font-family: inherit;
  background: white;
}

/* Focus */
form input:focus,
form textarea:focus {
  outline: none;
  border-color: #4b6ef5;
  box-shadow: 0 0 0 3px rgba(75, 110, 245, 0.15);
}

/* Zone message */
form textarea {
  resize: vertical;
  min-height: 120px;
}

/* Bouton */
form button {
  width: 140px;
  padding: 12px;
  border: none;
  border-radius: 8px;
  background-color: #4b6ef5;
  color: white;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

form button:hover {
  background-color: #3656d6;
}

/* Responsive tablette */
@media (max-width: 900px) {
  .contact-card {
    max-width: 500px;
    margin: 40px auto;
    padding: 30px;
  }
}

/* Responsive téléphone */
@media (max-width: 600px) {
  .contact-card {
    max-width: 100%;
    margin: 20px auto;
    padding: 22px;
  }

  .contact-card h1 {
    font-size: 1.8rem;
    margin-bottom: 22px;
  }

  form {
    gap: 14px;
  }

  form input,
  form textarea {
    padding: 11px;
    font-size: 14px;
  }

  form button {
    width: 100%;
  }
}