/* Conteneur du formulaire */
.form-messe {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  max-width: 600px;
  width: 100%;
  margin: 10vh 10vh;
  font-family: Arial, sans-serif;
}

/* Titre */
.form-messe h1 {
  font-size: 20px;
  margin-bottom: 15px;
  color: #333;
  text-align: center;
}

/* Labels */
.form-messe label {
  font-weight: bold;
  display: block;
  margin: 10px 0 5px;
}

/* Champs texte, email, date, textarea */
.form-messe input[type="text"],
.form-messe input[type="tel"],
.form-messe input[type="email"],
.form-messe input[type="date"],
.form-messe textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
}

/* Zone de texte */
.form-messe textarea {
  resize: vertical;
  min-height: 80px;
}

/* Groupes de boutons radio (messe et offrande) */
.form-messe .radio-group,
.form-messe .offrande-group {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin: 5px 0 15px;
}

.form-messe .radio-group label,
.form-messe .offrande-group label {
  font-weight: normal;
}

/* Actions : alignement des boutons (reset + submit) */
.form-messe .form-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 15px;
}

/* Boutons : styles généraux */
.form-messe .form-actions button {
  padding: 10px 16px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  min-width: 120px;
}

/* Bouton Envoyer (primary) */
.form-messe .form-actions button[type="submit"] {
  background: #0d03bd;
  color: white;
}

/* Bouton Réinitialiser (secondary) */
.form-messe .form-actions button[type="reset"] {
  background: #eef2f8;
  color: #111;
  border: 1px solid #d6dbe6;
}

/* Hover states */
.form-messe .form-actions button[type="submit"]:hover {
  background: #1a4f86;
}
.form-messe .form-actions button[type="reset"]:hover {
  background: #e6e9f2;
}

/* Focus accessibility */
.form-messe input:focus,
.form-messe textarea:focus,
.form-messe .form-actions button:focus {
  outline: 3px solid rgba(43,108,176,0.12);
  outline-offset: 2px;
}

/* Responsive : sur petits écrans, empiler les boutons */
@media (max-width: 600px) {
  .form-messe {
    padding: 15px;
    margin: auto;
  }

  .form-messe h1 {
    font-size: 18px;
  }

  .form-messe .form-actions {
    flex-direction: column;
  }

  .form-messe .form-actions button {
    width: 100%;
    min-width: 0;
  }

  .form-messe .form-actions button + button {
    margin-top: 8px;
  }
}
