/* Form global */
label { color: #9A55FF; }
label.required::after,
label:has(+ input[required])::after,
label:has(+ select[required])::after {
  content: " *";
  color: #dc3545;
  font-weight: 500;
  font-size: 0.9em;
  vertical-align: super;
}
label.required::after {
  content: " *";
  color: var(--bs-danger, #dc3545);
  font-weight: bold;
}

select.form-select { color: var(--bs-body-color); }

.form-check {
    position: relative;
    display: block;
    margin-top: 15px;
    margin-bottom: 10px;
    padding-left: 3rem;    
}
.form-check .form-check-label {
    display: block;
    margin-left: .25rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

/* Zone d’alerte */
#alertBox .alert {
  margin-top: 10px;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  animation: fadeIn 0.4s ease;
}
#alertBox .alert-info {
  background-color: #e8f0fe;
  color: #0d6efd;
  border-color: #b6d1ff;
}
#alertBox .alert-success {
  background-color: #d1e7dd;
  color: #0f5132;
}
#alertBox .alert-danger {
  background-color: #f8d7da;
  color: #842029;
}
.alert { transition: opacity 0.4s ease; }

/* Animation légère d’apparition */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Placeholder neutre */
#alertBox em {
  color: #888;
}

/* Selecteur de langue */
#langSelect { 
  color: var(--bs-body-color); 
  padding: 0.4375rem 2.45rem; 
  margin-bottom: 0.5rem; 
  position: relative;
  border-radius: 6px;
  background: #f7f7f7;
  border: 1px solid #ccc;
  font-size: 15px;
  cursor: pointer;
  appearance: none;
  background-repeat: no-repeat, no-repeat;
  background-position: 10px center, right 10px center;
  background-size: 22px 16px, 10px;
  background-image:
    none,
    url("data:image/svg+xml;charset=UTF-8,<svg width='14' height='10' xmlns='http://www.w3.org/2000/svg'><path d='M1 1l6 6 6-6' stroke='%23666' stroke-width='2' fill='none' fill-rule='evenodd'/></svg>");
  transition: background-image 0.3s ease, background-color 0.2s ease, color 0.2s ease;  
}
#langSelect option {
  font-family: "Segoe UI Emoji", "Noto Color Emoji", "Apple Color Emoji", sans-serif;
  padding-left: 5px;
}
/* Petit effet hover */
#langSelect:hover {
  background-color: #f0f0f0;
}
/* Petite amélioration pour macOS/Firefox : */
#langSelect::-ms-expand { display: none; }

:focus-visible {
  outline: 2px solid #0d6efd;
  outline-offset: 2px;
}

/* sidebar de gauche menu */
.sidebar .nav .nav-item .nav-link i.menu-icon, .sidebar .nav .nav-item .nav-link i.fa
 {
    font-size: 1.125rem;
    line-height: 1;
    margin-left: auto;
    color: inherit;
}
@media (min-width: 992px) {
    .sidebar-icon-only .sidebar {
        width: 100px;
    }
}

#formEditUser .form-check.form-check-flat { padding-left: 15px; }
#formEditUser .form-check .form-check-label input[type=checkbox] + span + .input-helper::before
 {
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 2px;
    border: solid #b66dff;
    border-width: 2px;
    -webkit-transition: all;
    -moz-transition: all;
    -ms-transition: all;
    -o-transition: all;
    transition: all;
    transition-duration: 0s;
    -webkit-transition-duration: 250ms;
    transition-duration: 250ms;
    background: #FFF;
}
#formEditUser .form-check .form-check-label input[type=checkbox] + span + .input-helper::before, #formEditUser .form-check .form-check-label input[type=checkbox] + span + .input-helper::after
 {
    position: absolute;
    top: 0;
    left: 0;
}
#formEditUser .form-check .form-check-label input[type=checkbox] + span + .input-helper::after {
    -webkit-transition: all;
    -moz-transition: all;
    -ms-transition: all;
    -o-transition: all;
    transition: all;
    transition-duration: 0s;
    -webkit-transition-duration: 250ms;
    transition-duration: 250ms;
    font-family: Material Design Icons;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    content: "\f012c";
    font-size: 0.9375rem;
    font-weight: bold;
    color: #ffffff;
}
#formEditUser .form-check .form-check-label input[type=checkbox] + span + .input-helper::before, #formEditUser .form-check .form-check-label input[type=checkbox] + span + .input-helper::after
 {
    position: absolute;
    top: 0;
    left: 0;
}

.border-2 { border-width: 2px !important; border-style: solid !important; }