/* ========================================
   MESSAGES D'ERREUR EN HAUT DE PAGE (style BdF)
   ======================================== */

/* Conteneur principal pour les messages en haut de la page */

:root {
    --messages-width: 1140px;
}

.bdf-message-container {
    width: 100%;
    background-color: transparent;
    padding: 0;
    margin: 0;
}

/* Message d'erreur */
.bdf-alert-error {
    background-color: #fee;
    border: 2px solid #dc3545;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 20px auto;
    max-width: var(--messages-width);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.1);
}

.bdf-alert-error-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #dc3545;
    margin-top: 2px;
}

.bdf-alert-error-content {
    flex: 1;
}

.bdf-alert-error-title {
    color: #dc3545;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

/* Message de succès */
.bdf-alert-success {
    background-color: #d4edda;
    border: 2px solid #28a745;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 20px auto;
    max-width: var(--messages-width);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    box-shadow: 0 2px 4px rgba(40, 167, 69, 0.1);
}

.bdf-alert-success-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #28a745;
    margin-top: 2px;
}

.bdf-alert-success-content {
    flex: 1;
}

.bdf-alert-success-title {
    color: #155724;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

/* Message d'avertissement */
.bdf-alert-warning {
    background-color: #fff3cd;
    border: 2px solid #ffc107;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 20px auto;
    max-width: var(--messages-width);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    box-shadow: 0 2px 4px rgba(255, 193, 7, 0.1);
}

.bdf-alert-warning-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #856404;
    margin-top: 2px;
}

.bdf-alert-warning-content {
    flex: 1;
}

.bdf-alert-warning-title {
    color: #856404;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

/* Message d'information */
.bdf-alert-info {
    background-color: #d1ecf1;
    border: 2px solid #17a2b8;
    border-radius: 4px;
    padding: 16px 20px;
    margin: 20px auto;
    max-width: var(--messages-width);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    box-shadow: 0 2px 4px rgba(23, 162, 184, 0.1);
}

.bdf-alert-info-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #17a2b8;
    margin-top: 2px;
}

.bdf-alert-info-content {
    flex: 1;
}

.bdf-alert-info-title {
    color: #0c5460;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .bdf-alert-error,
    .bdf-alert-success,
    .bdf-alert-warning,
    .bdf-alert-info {
        margin: 15px 20px;
        padding: 12px 16px;
    }

    .bdf-alert-error-title,
    .bdf-alert-success-title,
    .bdf-alert-warning-title,
    .bdf-alert-info-title {
        font-size: 14px;
    }
}

/* ========================================
   MESSAGES D'ERREUR AU NIVEAU DES CHAMPS
   ======================================== */

/* Conteneur d'erreur pour les champs */
#input-error-container-password,
#input-error-container-password-new,
#input-error-container-password-confirm,
#input-error-container-email,
#input-error-container-username,
#input-error-container-firstName,
#input-error-container-lastName {
    margin-top: 8px;
}

/* Message d'erreur de champ - style BdF */
.pf-v5-c-form__helper-text .pf-v5-c-helper-text__item.pf-m-error {
    color: #dc3545;
    font-size: 14px;
    line-height: 1.4;
}

.pf-v5-c-form__helper-text .pf-v5-c-helper-text__item.pf-m-error .pf-v5-c-helper-text__item-text {
    color: #dc3545;
}

/* Champ en erreur - bordure rouge */
.pf-v5-c-form-control.pf-m-error,
.pf-v5-c-form-control.pf-m-error input {
    border-color: #dc3545 !important;
    background-color: #fff5f5;
}

/* Icône d'erreur dans les champs */
.pf-v5-c-form-control__utilities .pf-v5-c-form-control__toggle-icon.pf-m-status {
    color: #dc3545;
}

/* Ajustement pour les messages de politique de mot de passe */
.pf-v5-c-helper-text__item.pf-m-dynamic {
    font-size: 14px;
    line-height: 1.5;
    padding: 4px 0;
}

/* Icône de validation pour les champs */
.pf-v5-c-helper-text__item-icon {
    margin-right: 6px;
}
