/* Champs de formulaire : la bordure Bootstrap par défaut (#dee2e6) est presque invisible sur fond blanc.
   Bordure gris moyen bien lisible, et contour vert quand le champ est actif.
   Les couleurs rouge / vert de la validation Bootstrap (.is-invalid, .was-validated) restent prioritaires. */
.form-control,
.form-select {
    border-color: #8c959f;
}

.form-control:not(.is-invalid):not(.is-valid):hover,
.form-select:not(.is-invalid):not(.is-valid):hover {
    border-color: #6c757d;
}

.form-control:not(.is-invalid):not(.is-valid):focus,
.form-select:not(.is-invalid):not(.is-valid):focus {
    border-color: var(--bs-success);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .2);
}

/* Barre de navigation principale : seuls effets que Bootstrap ne fournit pas (survol animé).
   Couleurs = variables Bootstrap, pour rester cohérent avec le reste du site. */

.menu-principal .nav-link {
    position: relative;
    white-space: nowrap;
    color: var(--bs-body-color);
    transition: color .2s ease;
}

/* Trait vert qui se déploie depuis le centre (::before : ::after est déjà la flèche des menus déroulants). */
.menu-principal .nav-link::before {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: .2rem;
    height: 2px;
    background-color: var(--bs-success);
    transition: left .25s ease, right .25s ease;
}

.menu-principal .nav-link:hover,
.menu-principal .nav-link:focus-visible,
.menu-principal .nav-link.active,
.menu-principal .show > .nav-link {
    color: var(--bs-success);
}

.menu-principal .nav-link:hover::before,
.menu-principal .nav-link:focus-visible::before,
.menu-principal .nav-link.active::before,
.menu-principal .show > .nav-link::before {
    left: .5rem;
    right: .5rem;
}

.menu-principal .dropdown-item {
    transition: background-color .15s ease, color .15s ease;
}

.menu-principal .dropdown-item:hover,
.menu-principal .dropdown-item:focus {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success-text-emphasis);
}

.menu-principal .dropdown-item.active,
.menu-principal .dropdown-item:active {
    background-color: var(--bs-success);
    color: #fff;
}

/* Menu replié (mobile, tablette) : pas de trait animé, la couleur suffit. */
@media (max-width: 1199.98px) {
    .menu-principal .nav-link::before {
        display: none;
    }
}
