
   /* Footer spacing géré par Bootstrap; pas besoin des <br><br> */
  #btn-back-to-top{
    display:none; position:fixed; right:16px; bottom:16px;
    border:0; background:transparent; padding:0; cursor:pointer; z-index:1030;
  }
  #btn-back-to-top:focus-visible { outline:2px solid #0d6efd; outline-offset:2px; border-radius:50%; }
 



#btn-back-to-top {
  position: fixed;
  bottom: 40px;
  right: 20px;
  display: none;
  z-index: 99;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 48px;
  height: 48px;
}

#btn-back-to-top svg {
  display: block;
  width: 48px;
  height: 48px;
  transition: transform 0.3s ease;
}

#btn-back-to-top:hover svg {
  transform: translateY(-3px) scale(1.05);
}

        .dashboard-box { max-width: 800px; margin: auto; }
        .password-strength-bar { height: 5px; background-color: #e0e0e0; margin-top: 5px; }
        .strength-weak { background-color: red; }
        .strength-medium { background-color: orange; }
        .strength-strong { background-color: green; }
        body {padding-top: 0px;}
        

        
  .same-width {
    flex: 1;
    min-width: 250px; /* optionnel : largeur minimale */
    white-space: nowrap; /* pour ne pas couper les textes */
  }  
  
  .btn-group-vertical-custom button{
    width: 250px; /* même largeur pour tous */
    text-align: center;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
  }

  .btn-group-vertical-custom a {
    width: 250px; /* même largeur pour tous */
    text-align: center;
  }  
  
 @media (max-width: 576px) {
  button,
  .btn-group-vertical-custom a {
    width: 100%;         /* occupe toute la largeur sur mobile */
    font-size: 1.2rem;    /* texte un peu plus grand sur mobile */
  }
  .btn-group-vertical-custom button {
    width: 100%;         /* occupe toute la largeur sur mobile */
    font-size: 1.2rem;    /* texte un peu plus grand sur mobile */
  }  
  
}
  
      .clignote { animation: clignoter 1s infinite;}
    @keyframes clignoter {
      0%, 100% { opacity: 1; }
      50% { opacity: 0; }
    } 


.lien-interdit {
  position: relative;
  cursor: not-allowed;
  color: #aaa;
  opacity: 0.85;
  text-decoration: none;
  transition: color 0.2s ease;
}

.lien-interdit:hover {
  color: #888;
}

.lien-interdit:hover::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.4em;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10' stroke='red' stroke-width='2' fill='none'/%3E%3Cline x1='6' y1='6' x2='18' y2='18' stroke='red' stroke-width='2'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

 .hr-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem auto;
    max-width: 100%;
    padding: 0 1rem;
  }

  .hr-arrow::before,
  .hr-arrow::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid orange;
  }

  .hr-arrow span {
    margin: 0 1rem;
    color: orange;
    font-size: 1.5rem;
    font-weight: bold;
    white-space: nowrap;
  }

  @media (max-width: 576px) {
    .hr-arrow span {
      font-size: 1.2rem;
      margin: 0 0.5rem;
    }
  }
  
.alert-info { margin-top: 75px;}  
.alert-danger{ margin-top: 75px;}
.alert-warning{ margin-top: 75px;}
.alert-success{ margin-top: 75px;}


