/* ------------------------------------ */
/* --- Styles pour estimation.html --- */
/* ------------------------------------ */

/* --- Bannière spécifique --- */
.estimation-banner {
    padding: 3rem 0; /* Moins de padding que la bannière voiture */
    background-color: var(--secondary-color);
    background-image: linear-gradient(rgba(26, 46, 76, 0.85), rgba(26, 46, 76, 0.95)), url('mismotors-banner-estimation.jpg'); /* Option: image de fond différente */
    background-size: cover;
    background-position: center center;
    text-align: center;
    color: var(--light-text);
    margin-top: var(--header-height);
    border-bottom: 5px solid var(--accent-color); /* Accent différent */
}

.estimation-banner .banner-content h1 {
    font-size: clamp(2rem, 5vw, 3rem);
    color: white;
    margin-bottom: 0.8rem;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}

.estimation-banner .banner-content p {
    font-size: clamp(1rem, 2.5vw, 1.1rem);
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
    margin: 0 auto;
}

/* --- Contenu Principal & Formulaire --- */
.main-content-estimation {
     background-color: var(--light-color); /* Fond gris clair */
}

.form-container {
    max-width: 800px; /* Largeur max du formulaire */
    margin: 0 auto; /* Centrer le formulaire */
    padding: 2rem 2.5rem; /* Padding interne */
    background-color: white;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

@media (max-width: 767px) {
    .form-container {
        padding: 1.5rem 1rem; /* Moins de padding sur mobile */
    }
}

.form-container .section-title {
    margin-bottom: 1rem; /* Moins d'espace après le titre */
}
.form-container .section-intro {
    margin-bottom: 2.5rem; /* Espace avant le form */
}

/* --- Styles du Formulaire --- */
.estimation-form fieldset {
    border: 1px solid #ddd; /* Bordure légère pour fieldset */
    padding: 1.5rem 2rem; /* Padding interne fieldset */
    margin-bottom: 2rem; /* Espace entre fieldsets */
    border-radius: var(--border-radius);
}

@media (max-width: 767px) {
    .estimation-form fieldset {
        padding: 1rem 1.2rem;
    }
}

.estimation-form legend {
    font-family: var(--font-secondary);
    font-weight: 700;
    font-size: 1.3rem;
    color: var(--secondary-color);
    padding: 0 0.8rem; /* Espace autour du titre de groupe */
    margin-left: 1rem; /* Alignement visuel */
}

.form-group {
    margin-bottom: 1.3rem; /* Espace entre chaque champ */
}

.form-group label {
    display: block; /* Label au-dessus du champ */
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-color);
}

/* Style pour l'indicateur requis (*) */
.form-group label:after {
    content: '*';
    color: var(--primary-color);
    margin-left: 0.2rem;
    font-weight: bold;
}
/* Ne pas afficher * si le label est pour un champ non requis (si besoin) */
/* .form-group label:not([for="finition"]):not([for="options"]):not([for="commentaires"]):after { ... } */


.form-group input[type="text"],
.form-group input[type="number"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group select,
.form-group textarea {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem; /* Padding interne champs */
    font-size: 1rem;
    font-family: var(--font-primary);
    color: var(--text-color);
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da; /* Bordure standard */
    border-radius: var(--border-radius);
    transition: border-color var(--transition-speed), box-shadow var(--transition-speed);
}

/* Améliorer l'apparence des select */
.form-group select {
    appearance: none; /* Supprimer style OS */
    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%236C757D%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'); /* Flèche select custom */
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 10px 10px;
    padding-right: 2.5rem; /* Espace pour la flèche */
}
/* Masquer flèche sur IE */
.form-group select::-ms-expand {
    display: none;
}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: var(--primary-color); /* Bordure au focus */
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(215, 44, 33, 0.25); /* Halo au focus */
}

.form-group textarea {
    resize: vertical; /* Permettre redimensionnement vertical */
    min-height: 80px;
}

/* Style pour le groupe consentement */
.consent-group {
    display: flex;
    align-items: flex-start; /* Aligner checkbox et texte en haut */
    margin-top: 2rem;
}

.consent-group input[type="checkbox"] {
    width: 1.1em; /* Taille checkbox */
    height: 1.1em;
    margin-top: 0.2em; /* Ajustement vertical */
    margin-right: 0.6rem;
    flex-shrink: 0; /* Empêcher la checkbox de rétrécir */
    accent-color: var(--primary-color); /* Couleur coche */
    cursor: pointer;
}

.consent-group label {
    margin-bottom: 0; /* Pas de marge basse pour ce label */
    font-weight: 400; /* Poids normal */
    font-size: 0.9rem;
    line-height: 1.5;
    cursor: pointer;
}
.consent-group label:after {
    content: none; /* Pas d'astérisque pour ce label */
}
.consent-group label a {
    /* Style lien politique confidentialité */
    text-decoration: underline;
}


/* Style bouton soumission */
.form-submit {
    margin-top: 2.5rem;
    text-align: center; /* Centrer le bouton */
}

/* --- Fin des styles estimation.css --- */