
h2{
    color: black!important;
    font-weight: bold!important;
}


h4{
  color: black!important;
  font-weight: bold!important;
  font-size: 20px;
  margin: 45px 0px 25px;
}
.titreHaut{
  color: unset!important;
  font-weight: unset!important;
  font-size: 18px;
  margin: unset;
}
input{
    margin-bottom: 15px!important;
}

.form-control {
    display: block;
    margin-bottom: 20px;
    width: 100%;
    height: 44px;
    padding: 8px 14px;
    font-size: 15px;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff;
    background-image: none;
    border: 1px solid #d5dbe0;
    border-radius: 8px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .03);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .03);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:hover{
    border-color: #adb5bd;
}
.highlight {
    border: 2px solid red;
    background-color: #ffdddd;
  }
  .custom-confirm-button-class {
    background-color: #ff0000; /* Couleur personnalisée pour le bouton de confirmation */
  }
  
  .custom-cancel-button-class {
    background-color: #00ff00; /* Couleur personnalisée pour le bouton d'annulation */
  }
  form .row{
    padding-left: 15px;
    padding-right: 15px;
  }
  .border{
    border: 1px solid #dee2e6;
  }
  .p-2{
    padding: 0.5rem!important;
  }

  label{
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: unset!important;
  }

  /* --- Cartes de selection (duree du sejour / connait-date-arrivee) --- */
  .visaCardGroup{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 10px 0 5px;
  }
  .visaCard{
    position: relative;
    flex: 1 1 calc(25% - 12px);
    min-width: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px 12px;
    border: 1px solid #d5dbe0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-weight: 600;
    color: #222;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
  }
  .visaCard:hover{ border-color: #999; }
  .visaCard__input{
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
  }
  .visaCard__title{ pointer-events: none; }
  .visaCard.is-selected,
  .visaCard:has(.visaCard__input:checked){
    border-color: #065a2e;
    background: #eafaf0;
    box-shadow: 0 0 0 1px #065a2e inset;
  }
  .visaCardGroup--2col .visaCard{
    flex: 0 1 calc(25% - 12px);
  }
  @media (max-width: 576px){
    .visaCard{ flex: 1 1 calc(50% - 12px); }
    .visaCardGroup--2col .visaCard{ flex: 1 1 calc(50% - 12px); }
  }

  /* --- Messages d'information (date d'arrivee) --- */
  .infoBox{
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
    line-height: 1.5;
  }
  .infoBox--success{
    background: #eafaf0;
    border: 1px solid #b7e4c7;
    color: #155724;
  }
  .infoBox--warning{
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a5b13;
  }

  /* --- Polish general step1/step2 --- */
  .form-control:focus{
    border-color: #065a2e;
    box-shadow: 0 0 0 3px rgba(6,90,46,0.15);
    outline: none;
  }
  h4{
    border-bottom: 2px solid #f1f1f1;
    padding-bottom: 10px;
  }
  h3{
    color: black !important;
    font-weight: bold !important;
    font-size: 32px !important;
  }

  /* Sexe : radios agrandis, un peu d'air entre les options */
  input[type="radio"][name="Sexe"]{
    width: 18px;
    height: 18px;
    margin-right: 6px;
    vertical-align: middle;
    cursor: pointer;
  }
  label[for="homme"], label[for="femme"]{
    margin-right: 24px;
    cursor: pointer;
  }

  /* Declaration et acceptation : checkbox un peu plus visible */
  #accepter-article{
    width: 20px;
    height: 20px;
    cursor: pointer;
  }
  .form-check-label{
    cursor: pointer;
  }

  /* Boutons Payer / Finaliser ma demande : leger effet au survol */
  #suivantButton{
    transition: filter .15s ease, transform .05s ease;
  }
  #suivantButton:hover{
    filter: brightness(1.08);
  }
  #suivantButton:active{
    transform: translateY(1px);
  }
