/* SaaS Pro Style - Zéro Décalage (Aéré) */

.form-floating {
    position: relative;
    margin-bottom: 2rem !important; /* Respiration augmentée entre les champs */
}

input.invalid {
    border-color: #e0a3a3 !important;
    background-color: #fffafb !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.05) !important;
    transition: all 0.2s ease-in-out;
}

input.invalid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.1) !important;
}

.validation_error {
	color: #c53030;
	font-size: 0.75rem;
	font-weight: 500;
    position: absolute;
    bottom: -1.5rem; /* Centré dans l'espace entre deux champs */
    left: 2px;
    margin: 0 !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease-in-out;
    white-space: nowrap;
    z-index: 10;
    display: none !important; /* Cache tout par défaut (masque le message global) */
}

/* Affiche UNIQUEMENT les erreurs rattachées à un champ invalide */
input.invalid + .validation_error,
input.invalid ~ .validation_error,
.validation_error:not(:empty) {
    display: block !important;
    opacity: 1;
}

input.invalid ~ label {
	color: #c53030 !important;
    opacity: 0.8;
}
