/* Général */
body {
font-family: 'Arial', sans-serif;
background-color: #f4f7f6; /* Un fond légèrement grisé */
display: flex;
justify-content: center;
align-items: flex-start; /* Aligner en haut */
min-height: 100vh;
margin: 20px 0; /* Marge pour ne pas coller aux bords */
box-sizing: border-box;
}
#form-container {
background-color: #ffffff;
padding: 30px 40px;
border-radius: 12px;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 700px; /* Largeur maximale pour le formulaire */
box-sizing: border-box;
}
/* En-tête du formulaire */
#header-form {
text-align: center;
margin-bottom: 30px;
}
#titre_page {
font-size: 2.2em;
font-weight: bold;
color: #0f4aaa; /* Ton code couleur */
margin-bottom: 15px;
text-transform: uppercase;
letter-spacing: 1.5px;
}
.logo-section {
margin-top: 20px;
}
.cloud-image {
max-width: 150px; /* Taille plus raisonnable pour l'image */
height: auto;
display: block;
margin: 15px auto 0; /* Centrer l'image */
opacity: 0.8; /* Légèrement transparente */
}
/* Informations champs obligatoires */
.required-fields-info {
text-align: right;
margin-bottom: 25px;
font-size: 0.9em;
color: #555;
}
.asterisk {
color: #dc3545; /* Rouge pour les astérisques */
font-weight: bold;
}
/* Sections du formulaire (fieldset) */
.form-section {
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 25px 30px;
margin-bottom: 30px;
background-color: #fcfdff; /* Légèrement bleuté */
}
.form-section legend {
font-size: 1.3em;
font-weight: bold;
color: #0f4aaa; /* Ton code couleur */
padding: 0 10px;
margin-left: -10px; /* Pour un alignement visuel */
background-color: #ffffff; /* Fond blanc pour la légende */
border-radius: 5px;
}
/* Groupes de champs */
.form-group {
margin-bottom: 20px;
display: flex;
flex-direction: column;
}
.form-group label {
display: block;
margin-bottom: 8px;
font-weight: bold;
color: #333;
font-size: 0.95em;
}
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="date"],
.form-group select,
.form-group textarea {
width: 100%;
padding: 12px 15px;
border: 1px solid #ced4da;
border-radius: 6px;
font-size: 1em;
color: #495057;
transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
box-sizing: border-box; /* Important pour le padding */
}
.form-group input[type="text"]:focus,
.form-group input[type="email"]:focus,
.form-group input[type="tel"]:focus,
.form-group input[type="date"]:focus,
.form-group select:focus,
.form-group textarea:focus {
border-color: #0f4aaa; /* Ton code couleur au focus */
box-shadow: 0 0 0 0.25rem rgba(15, 74, 170, 0.25); /* Légère ombre au focus */
outline: none;
}
/* Placeholder style */
.form-group input::placeholder,
.form-group textarea::placeholder {
color: #a0a0a0;
font-style: italic;
}
/* Radio buttons */
.radio-group div {
display: flex;
gap: 20px;
}
.radio-group input[type="radio"] {
margin-right: 5px;
accent-color: #0f4aaa; /* Couleur d'accentuation pour les radios */
}
.radio-group label {
font-weight: normal; /* Labels des radios moins gras */
display: inline-block;
margin-bottom: 0; /* Réinitialise la marge pour les labels des radios */
}
/* Select */
.form-group select {
appearance: none; /* Supprime le style par défaut du navigateur */
-webkit-appearance: none;
-moz-appearance: none;
background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230f4aaa%22%20d%3D%22M287%2C197.398L146.2%2C56.6L5.4%2C197.398c-7.7%2C7.7-20.3%2C7.7-28%2C0c-7.7-7.7-7.7-20.3%2C0-28L132.2%2C14.6c7.7-7.7%2C20.3-7.7%2C28%2C0l124.8%2C124.8c7.7%2C7.7%2C7.7%2C20.3%2C0%2C28C287.3%2C197.398%2C287%2C197.398%2C287%2C197.398z%22%2F%3E%3C%2Fsvg%3E'); /* Flèche personnalisée */
background-repeat: no-repeat;
background-position: right 15px center;
background-size: 12px;
padding-right: 40px; /* Espace pour la flèche */
}
/* Textarea */
.form-group textarea {
min-height: 120px;
resize: vertical; /* Permet de redimensionner verticalement */
}
/* Bouton de soumission */
.form-actions {
text-align: center;
margin-top: 40px;
}
.form-actions button {
background-color: #0f4aaa; /* Ton code couleur */
color: #ffffff;
padding: 15px 30px;
border: none;
border-radius: 8px;
font-size: 1.1em;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.form-actions button:hover {
background-color: #0b3a82; /* Une nuance plus foncée au survol */
transform: translateY(-2px); /* Léger effet de soulèvement */
}
.form-actions button:active {
transform: translateY(0);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
/* Utilitaires pour l'accessibilité */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}
/* Responsive design pour les petits écrans */
@media (max-width: 768px) {
#form-container {
padding: 20px 25px;
}
#titre_page {
font-size: 1.8em;
}
.form-section {
padding: 20px;
}
}