/* Fix Bootstrap Alerts - Compatible Bootstrap 4 & 5 */

/* Ensure buttons always have centered text */
button, .btn {
    text-align: center !important;
}

.alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    display: block !important;
    text-align: left !important;
}

.alert-dismissible {
    padding-right: 3.5rem !important;
}

/* Forcer l'alignement du contenu à gauche, sauf pour les boutons */
.alert > *:not(button):not(.btn) {
    text-align: left !important;
}

.alert p,
.alert span:not(.btn):not(button),
.alert div:not(.btn):not(button),
.alert ul,
.alert li {
    text-align: left !important;
}

.alert .btn-close,
.alert button[data-bs-dismiss="alert"],
.alert button[data-dismiss="alert"] {
    position: absolute !important;
    top: 50% !important;
    right: 0.75rem !important;
    transform: translateY(-50%) !important;
    padding: 0.5rem !important;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat !important;
    border: 0 !important;
    border-radius: 0.25rem !important;
    opacity: 0.5 !important;
    width: 1.5em !important;
    height: 1.5em !important;
    cursor: pointer !important;
}

.alert .btn-close:hover,
.alert button[data-bs-dismiss="alert"]:hover,
.alert button[data-dismiss="alert"]:hover {
    opacity: 0.75 !important;
}

.alert .btn-close:focus,
.alert button[data-bs-dismiss="alert"]:focus,
.alert button[data-dismiss="alert"]:focus {
    opacity: 1 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.25) !important;
}

/* Alert types */
.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-success .btn-close,
.alert-success button[data-bs-dismiss="alert"],
.alert-success button[data-dismiss="alert"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23155724'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") !important;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-danger .btn-close,
.alert-danger button[data-bs-dismiss="alert"],
.alert-danger button[data-dismiss="alert"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23721c24'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") !important;
}

.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

.alert-warning .btn-close,
.alert-warning button[data-bs-dismiss="alert"],
.alert-warning button[data-dismiss="alert"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23856404'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") !important;
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.alert-info .btn-close,
.alert-info button[data-bs-dismiss="alert"],
.alert-info button[data-dismiss="alert"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23 0c5460'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") !important;
}

/* Animation pour fade */
.alert.fade {
    transition: opacity 0.15s linear;
}

.alert.fade:not(.show) {
    opacity: 0;
}
