html body {
  color: black;
  font-family: Montserrat, sans-serif;
}

.btn-green {
  border: #74cfa3 2px solid;
  background-color: #74cfa3;
  color: white !important;
  border-radius: 30px;
  font-weight: 600;
  padding: 12px 35px 12px 35px;
  margin-top: 25px;
  margin-bottom: 25px;
  font-size: 1.5em;
  text-align: left;
}

.btn-green-sm {
  font-size: .8em;
  padding: 6px 12px 6px 12px;
}

.btn-default, .btn-default:visited, .btn-default:hover {
  background-color: white;
  color: #74cfa3 !important;
  border: #74cfa3 2px solid;
  border-radius: 10px;
  font-weight: 600;
  padding: 12px 25px 12px 25px;
  margin-top: 25px;
  margin-bottom: 25px;
  font-size: 1.5em;
  text-align: left;
}

.btn-default-sm {
  font-size: .8em;
  padding: 6px 12px 6px 12px;
}


a, a:hover, a:visited {
  text-decoration: none !important;
  color: black !important;
  cursor: pointer !important;
}


.center-img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}


.login_container {
  font-family: Montserrat, sans-serif;
  background-color: #a0d4b7;
  padding: 100px 50px 100px 50px;
  margin-top: 50px;
  border-radius: 20px;
}

.login_container .help_link {
  /* Reset de l'apparence */
  appearance: none; /* Standard */
  -webkit-appearance: none; /* Chrome/Safari */
  -moz-appearance: none; /* Firefox */

  /* Annulation des styles */
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  padding: 10px;
  margin: 0;
  box-shadow: none;
  cursor: pointer; /* Facultatif, pour garder la main */
  font-weight: 500;
}

.login_incentive {
  font-size: 1.4em;
  font-weight: 500;
}

@media (max-width: 990px) {
  .login_incentive {
    padding-top: 50px;
  }
}

.login_incentive h1 {
  font-size: 2.5em;
  font-weight: bolder;
}

.login_incentive h3 {
  font-weight: bolder;
  font-size: 1.5em;
}

.login_incentive li {
  color: black;
  font-style: italic;
}

.login_incentive li::marker {
  color: #107954;
}

.emphasis_black {
  color: black;
  font-style: normal;
  font-weight: 700;
}

.login_form_container {
  background-color: white;
  padding: 50px;
  border-radius: 25px;
  border: #73c89c 2px solid;
  text-align: center;
}

@media (min-width: 990px) {
  .login_form_container {
    margin-right: 50px;
  }
}

.button_green {
  /*background-color: #73bf95;*/
  background-color: #74cfa3;
  padding: 5px 25px 5px 25px;
  border-radius: 10px;
  color: white;
  font-size: 1.2em;
  font-weight: 500;
  border: none;
  display: block;
  margin-top: 50px;
  margin-left: auto;
  margin-right: auto;
}

input[type=text], input[type=password], input[type=email], input[type=date] {
  margin-bottom: 25px;
  border: none !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-bottom: 2px solid #73bf95 !important;
}

input[type=checkbox] {
  margin: 8px;
}

select {
  margin-bottom: 25px !important;
  border-radius: 10px !important;
  border: 2px solid #73bf95 !important;
}

.checkbox {
  margin-bottom: 25px !important;
}

.radio {
  display: inline-block;
  margin-right: 50px;
  margin-bottom: 25px;
}

.radio label {
  font-weight: 400;
}


select::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  pointer-events: none;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' stroke='gray' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center center;
  background-size: 16px 16px;
}


label {
  font-weight: 600;
}

.help_link {
  color: black;
  text-decoration: underline;
  font-size: 1.1em;
}

.help-block {
  margin-top: -20px;
}


@media (max-width: 573px) {
  .navbar-header img {
    margin: 0 !important;
    float: right;
    width: auto;
    max-height: 100%;
    max-width: 90vw;
  }

  .btnMenu {
    left: 0px !important;
  }
}


.blocheader {
  margin: 0 auto;
  margin-bottom: 50px;
  max-width: 850px;
}

/* MES POINTS | MON PROFIL */
.titleCat {
  font-weight: 600;
}

.titleCat img {
  width: 22px;
  margin-right: 15px;
}

.blocSubheader {
  margin-bottom: 25px;
}


.sign_in {
  color: black !important;
  background-color: white !important;
  border: 2px solid #73bf95;
  border-radius: 25px;
  position: relative;
  width: 60%;
  left: 20%;
  right: 20%;
}

@media (max-width: 990px) {
  .sign_in {
    width: 100%;
    left: 0;
    right: 0;
  }
}


.sign_in_right_lighter {
  color: black !important;
  background-color: transparent !important;
  /*border: 2px solid #73bf95;*/
  /*border-radius: 25px;*/

}

.sign_in h4 {
  border-bottom: 4px solid #73bf95;
  padding-bottom: 15px;
  margin-bottom: 30px;
  color: #2a583c;
  font-weight: 600 !important;
}


.form-container {
  background-color: white !important;
}

.submit_button_container {
  text-align: center;
}

.sign_in input[type=submit] {
  background-color: transparent !important;
  /*border: 2px solid #2a583c;*/
  border: 2px solid #74cfa3;
  border-radius: 10px;
  /*color: #2a583c;*/
  color: #74cfa3;
  font-weight: 600;
  padding: 10px 25px 10px 25px;
  margin-top: 25px;
  margin-bottom: 25px;
  font-size: 1.5em;
  display: inline-block;
  text-align: left;
}

#toggle_young_mother {
  border-radius: 10px;
  color: white !important;
}

.young_mother_fields {
  border-radius: 10px;
  background-color: #eff8f9;
  padding: 20px;
}

.young_mother_fields input {
  background-color: #eff8f9;
}


/* FOOTER */
footer {
  background-color: white;
  height: 75px;
  text-align: center;
  bottom: 0;
  position: relative;
  width: 100%;
  margin-top: 40px;
}

ul#footer li {
  display: inline;
}

#footer a {
  color: black;
}

#footer a:hover {
  color: grey;
  transition: 0.3s;
}

.separatorNavF {
  display: inline-block;
  padding-left: 5px;
}

.date_inline {
  display: inline;
  width: auto;
}

.nav li {
  padding: 0 0.3em;
}

.nav a {
  font-weight: 800;
  text-transform: uppercase;
}

.nav .active a {
  color: #fe5800 !important;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 800;
  text-transform: uppercase;
}


.CoinNumber {
  font-weight: 800;
  font-size: 50px;
  color: #fe5800;
}

.padding-right-46px {
  padding-right: 46px !important;
}

.padding-left-46px {
  padding-left: 46px !important;
}

.pull-right {
  float: right !important;
}

.pull-left {
  float: left !important;
}

/* ========================================
   RESPONSIVE MOBILE - Menu et Layout
   ======================================== */

/* Menu Lafayette */
.nav-menu-lafayette {
  display: inline-flex;
  margin-top: 35px;
  list-style: none;
  padding: 0;
}
.nav-menu-lafayette li {
  margin: 0 5px;
}
.nav-menu-lafayette li a {
  padding: 10px 15px;
  display: block;
  text-decoration: none;
}

/* Bouton hamburger */
.btnMenu {
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
}

/* Mobile : < 768px */
@media (max-width: 767px) {
  /* Logo : réduire et centrer */
  .blocheader img.center-img {
    height: 100px !important;
    max-width: 80%;
    display: block;
    margin: 0 auto;
  }

  /* Header : centrer tout */
  .blocheader .navbar {
    text-align: center;
  }

  /* Navbar-header : centrer le bouton hamburger */
  .navbar-header {
    text-align: center;
    width: 100%;
  }

  /* Menu responsive */
  .nav-menu-lafayette {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 15px;
    width: 100%;
  }
  .nav-menu-lafayette li {
    width: 100%;
    text-align: center;
    margin: 0;
    border-bottom: 1px solid #eee;
  }
  .nav-menu-lafayette li a {
    padding: 12px 15px;
  }

  /* Bootstrap 5 collapse */
  .navbar-collapse.collapse {
    display: none;
  }
  .navbar-collapse.collapse.in,
  .navbar-collapse.collapse.show {
    display: block;
  }

  /* Empêcher le scroll horizontal de la page */
  html, body {
    overflow-x: hidden;
    max-width: 100vw;
  }

  /* Conteneur scrollable pour les tableaux */
  .container {
    overflow-x: hidden;
  }
  .col-sm-12:has(table), .col-md-12:has(table), .col-lg-12:has(table) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  table {
    min-width: 600px;
  }

  /* Taille de police adaptée au mobile */
  body {
    font-size: 14px;
  }
  table {
    font-size: 13px;
  }
  table th, table td {
    padding: 8px 6px;
  }
  h4.titleArt {
    font-size: 1.3rem;
  }
}

/* Desktop : >= 768px */
@media (min-width: 768px) {
  .btnMenu {
    display: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
  }
}