/* 🌟 Style général des formulaires pro et responsive */

form {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  padding: 2rem;
  max-width: 700px;
  margin: 2rem auto;
  transition: all 0.3s ease;
}

form:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08);
}

/* Titres */
form h3 {
  text-align: center;
  font-weight: 600;
  color: #007bff;
  margin-bottom: 1.5rem;
}

/* Champs */
.form-group {
  margin-bottom: 1.2rem;
}

.form-label {
  font-weight: 600;
  color: #444;
  margin-bottom: 0.4rem;
  display: block;
}

.form-control {
  border: 1px solid #d9e2ec;
  border-radius: 10px;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  color: #333;
  background-color: #fafafa;
  transition: all 0.3s ease;
  width: 100%;
}

.form-control:focus {
  border-color: #007bff;
  background-color: #fff;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.1);
  outline: none;
}

/* Select */
select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg fill='%23007bff' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E<path d='M4.646 6.646a.5.5 0 0 1 .708 0L8 9.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 16px;
  padding-right: 2.5rem;
}

/* Textarea */
textarea.form-control {
  min-height: 120px;
  resize: vertical;
}

/* Boutons */
.btn-primary {
  background: linear-gradient(135deg, #007bff, #00aaff);
  border: none;
  color: #fff;
  border-radius: 12px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #006ae6, #0095e6);
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0, 123, 255, 0.25);
}

/* Boutons secondaires */
.btn-secondary {
  background: #f1f5f9;
  color: #007bff;
  border: 1px solid #007bff;
  border-radius: 10px;
  padding: 0.7rem 1.4rem;
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background: #007bff;
  color: #fff;
}

/* Responsive */
@media (max-width: 576px) {
  form {
    padding: 1.2rem;
    border-radius: 12px;
  }

  .btn-primary, .btn-secondary {
    width: 100%;
    text-align: center;
  }
}
