/* Generique, ne pas effacer */
/* Police */
@font-face {
  font-family: "Oxlaide";
  src: url("../font/Oxlaide/Oxlaide.otf");
}

/* Global */
/* colorEtape3 est la même que la 8 et que celle du site (header, button..etc) */
:root {
  --colorEtape1: #5dade2;
  --colorEtape2: #2e86c1;
  --colorEtape3: #308796;
  --colorEtape4: #DAA520;
  --colorEtape5: #b73959;
  --colorEtape6: #7f8c8d;
  --colorEtape7: #0B6BA8;
  --colorEtape8: #01677d;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-size: 1.6em;
  /*font-family: Arial, Helvetica, sans-serif;*/
  font-family: 'Albert Sans', sans-serif;
  margin: auto;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

ul {
  padding: 0;
  list-style: none;
}

img {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
  height: auto;
  display: block;
}

.logotext {
  width: 270px;
}

.font-italic {
  font-style: italic;
}

.border-red-blink {
  border: 2px solid red;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  text-align: center;
  animation: borderColorChange 3s infinite;
}

.red-dot {
  height: 10px;
  width: 10px;
  background-color: red;
  border-radius: 50%;
  display: inline-block;
  animation: backgroundColorChange 1s infinite;

}

@keyframes backgroundColorChange {
  0% {
    background-color: var(--colorEtape5);
  }

  50% {
    background-color: #f00;
  }

  100% {
    background-color: var(--colorEtape5);
  }
}


@keyframes borderColorChange {
  0% {
    border-color: #f00;
  }

  50% {
    border-color: #fff;
  }

  100% {
    border-color: #f00;
  }
}


main {
  margin: auto;
  width: 100%;
  flex: 1;
}

a,
a:visited,
a:hover,
a:link {
  text-decoration: none;
  color: #000;
}

h1 {
  text-align: center;
  text-transform: uppercase;
  font-weight: normal;
}

.titreMenu>div {
  text-align: center;
  text-transform: uppercase;
  font-weight: normal;
  font-size: 2rem;
  margin-top: 10px;
  margin-bottom: -5px;
}

img.align-left {
  float: left;
  margin: 5px 5px 15px 5px;
}

img.align-right {
  float: right;
  margin: 15px 5px 5px 5px;
}

.width-45px {
  width: 45px;
}

.tooltip-title-bt .tooltip-inner {
  font-size: 1.5em;

}

section {
  margin-top: 10px;
}

button,
link,
p.link {
  cursor: pointer;
}

.button {
  margin-right: 5px;
  margin-left: auto !important;
}

.font-weight-bold {
  font-weight: bold;
}


.button1,
.button2,
a.button1,
a.button2 {
  background-color: var(--colorEtape3);
  color: #fff;
  border: none;
  font-weight: bold;
  padding: 10px;
  max-width: 210px;
  margin: 10px auto;
  border-radius: 3px;
  display: block;
  font-size: 1.4rem;
  text-align: center;
}

.button1:hover,
.button2:hover,
.button3:hover,
.button4:hover,
a.buttonGold {
  /* color: #000; */
  /* background-color: #ffe8ac; */
  -webkit-box-shadow: 0px 0px 10px 1px rgba(0, 102, 124, 0.73);
  -moz-box-shadow: 0px 0px 10px 1px rgba(0, 102, 124, 0.73);
  box-shadow: 0px 0px 10px 1px rgba(0, 102, 124, 0.73);
}

.button3,
.button3:visited,
.button3:link {
  color: #fff;
  display: inline-block;
  width: 200px;
  height: 0;
  border-bottom: 50px solid #CCA533;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
}

a.button4 {
  display: block;
  background-color: var(--colorEtape2);
  color: #f2f2f2;
  width: 100%;
  height: 100%;
}

.buttonGold {
  background-color: #CCA533 !important;
  width: 177px !important;
}

a.buttonHome {
  display: block;
  max-width: 150px;
  margin: 10px auto;
}

#lingotsDor li {
  margin: auto 10px
}

#lingotsDor {
  margin-bottom: 50px !important;
}

.clearfix {
  clear: both;
}

.hidden,
.hiddenMobile,
.hiddenMobile-Flex {
  display: none !important;
}

.simulationRestanteBulle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 35px;
  border-radius: 50%;
  color: white;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 0;
  border: 3px solid #f2f2f2;
}

.desktopScreen {
  display: none;
}

.relative {
  position: relative;
}


.borderAbonnement {
  border: 2px;
  border-style: solid;
}

.fixOnTop {
  position: fixed;
  top: 0;
}

input[type="text"],
input[type="email"],
input[type="date"],
input[type="password"],
select,
textarea,
.fakeInput {
  position: relative;
  border: 1px solid rgb(200, 200, 200);
  height: 25px;
  width: 100%;
  border-radius: 3px;
}

.fakeInput {
  width: 130px;
  min-width: 130px;
  margin-left: 10px;
}

div#sIndicateurs .titleEtape p:nth-child(1) {
  width: 130px;
  margin-top: -3px;
  border-top-right-radius: 8px;
}

span.mini {
  display: inline-block;
  vertical-align: top;
  margin-top: 0.5em;
  /* Ajustez pour un positionnement optimal */
  font-size: 0.5em;
}

#simulateur .fakeInput {
  text-align: center;
}

.derouleSection {
  background-color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  cursor: pointer;
  margin-right: 10px;
}

.overflowYHidden {
  overflow-y: hidden;
  overflow: hidden;
}

/* scroll to top */

a#scrollToTop {
  width: 50px;
  height: 50px;
  font-size: 1.4rem;
  color: #000;
  background-color: #ffd874;
  border-radius: 100%;
  position: fixed;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  right: 10px;
  bottom: 10px;
  z-index: 100;
  opacity: 0;
  -webkit-box-shadow: 3px 3px 5px 0px rgba(50, 61, 61, 0.3);
  -moz-box-shadow: 3px 3px 5px 0px rgba(50, 61, 61, 0.3);
  box-shadow: 3px 3px 5px 0px rgba(50, 61, 61, 0.3);
  transition: all 0.1s ease-in-out;
}

a#scrollToTop>img {
  width: 20px;
  height: 20px;
  object-fit: cover;
  margin: 0;
  margin-bottom: -5px;
}

.font-size-15 {
  font-size: 1.5rem;
}

a#scrollToTop:hover {
  transform: scale(1.1);
}

.scrollToTop-active {
  opacity: 1 !important;
}


.tootltipButton {
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  border: 1px solid var(--colorEtape3);
  border-radius: 100%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  /* position: absolute;
	top: 0;
	left: 170px; */
  margin-left: 10px;
  background-color: #f2f2f2;
}



input:disabled {
  color: #000;
}

.couleurAPreciser {
  animation: rainbow 3s linear infinite alternate;
}

.bottom0 {
  margin-bottom: 0 !important;
}

.tootltipButton:hover {
  transform: scale(1.2);
}

.tootltipButton>img {
  width: 60%;
}

.tooltipContent {
  position: fixed;
  transform: scale(0);
  transition: all 0.2s ease-in;
  background-color: #fff;
  border: 2px solid var(--colorEtape3);
  z-index: 50;
  top: 0;
  left: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.tooltipContent div {
  background-color: var(--colorEtape3);
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 0 15px;
  color: #f2f2f2;
}

.tooltipContent div>img {
  width: 20px;
  height: 20px;
  cursor: pointer;
  align-self: center;
}

.tooltipContent h4 {
  margin: 10px;
}

.tooltipContent p {
  padding: 0 15px;
}


.tooltipContent.tooltipActive {
  position: fixed;
  width: 80%;
  top: 200px;
  /* Place le point d'origine de la div à 50% de la largeur de l'écran */
  left: 50%;
  /* Déplace la div de 50% de sa propre largeur vers la gauche pour la centrer */
  transform: translateX(-50%);
  min-height: 100px;

}

/* input devises */

.devise {
  position: absolute;
  bottom: 0;
  right: 5px;
  font-size: 0.8em;
}

.likeInput .devise {
  bottom: 20px;
}

#simulateur input[type="text"] {
  text-align: center;
}

#simulateur #sFicheContact input[type="text"] {
  text-align: unset;
}

.tooltip {
  display: block;
  position: relative;
  background-color: #fff;
  padding: 5px;
  border-radius: 3px;
}

.popover {
  text-align: center;
  width: 300px;
}

.check {
  font-size: 20px;
  color: #008000;
}

#simulateur {
  position: relative;
}

#mainSVG {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@keyframes rainbow {
  0% {
    background-color: rgb(138, 53, 138);
  }

  25% {
    background-color: rgb(54, 54, 146);
  }

  50% {
    background-color: rgb(60, 122, 60);
  }

  75% {
    background-color: rgb(145, 145, 80);
  }

  100% {
    background-color: rgb(139, 86, 86);
  }
}

.patienter {
  background: rgba(0, 0, 0, 0.7);

  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100% !important;
  height: 100% !important;
  text-align: center;
  z-index: 999999 !important;
}

.patienter .svgContainer {
  width: 100%;
  max-width: 500px;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
}

.text-etape1 {
  color: var(--colorEtape1);
}

.text-etape2 {
  color: var(--colorEtape2);
}

.text-etape3 {
  color: var(--colorEtape3);
}

.text-etape4 {
  color: var(--colorEtape4);
}

.text-etape5 {
  color: var(--colorEtape5);
}

.text-etape6 {
  color: var(--colorEtape6);
}

.text-etape7 {
  color: var(--colorEtape7);
}

.text-etape8 {
  color: var(--colorEtape8);
}


.white {
  color: #f2f2f2;
}

.center {
  text-align: center;
  margin: auto;
}

.no-border {
  border: none !important;
}

#navigation .logo {
  width: 17px;
  height: auto !important;
  display: inline-block;
  margin-right: 0 !important;
}

.logo-noirToBlanc {
  filter: invert(1);
}

.logo-noirToVert {
  -webkit-filter: hue-rotate(180deg);
  filter: hue-rotate(180deg);
}

/* ----- form ----- */

.form-group {
  margin: 5px 0;
}

.spaceBetween {
  display: flex;
  justify-content: space-between;
}


.labelOut {
  position: absolute;
  left: -99999999px;
  top: -9999999999px;
}

i.rotate-180 {
  transform: rotateY(180deg);
}


.blur {
  color: transparent;
  text-shadow: 0 0 7px #000;
}

.progressBarCursor {
  height: 2px !important;
  margin-top: -2px !important;
  margin-bottom: 4px !important;
  position: relative !important;
  z-index: 10 !important;
}

.progressBarCursor,
.progressBarCursor input[type="range"] {
  min-width: 100% !important;
}

.progressBarCursor input[type="range"] {
  height: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none;
  transition: background 450ms ease-in;
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  border-radius: 1px;
  box-sizing: content-box !important;
  overflow: visible !important;
}

.progressBarCursor input[type="range"]::-webkit-slider-runnable-track {
  height: 2px !important;
  border: none !important;
  background: transparent !important;
  box-sizing: content-box !important;
  padding: 0 !important;
}

.progressBarCursor input[type="range"]::-moz-range-track {
  height: 2px !important;
  border: none !important;
  background: transparent !important;
  box-sizing: content-box !important;
  padding: 0 !important;
}

.progressBarCursor input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  border: none !important;
  margin-top: -7px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.progressBarCursor input[type="range"]::-moz-range-thumb {
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#sBaseCalculPrincipal .progressBarCursor input[type="range"] {
  background: linear-gradient(to right, var(--colorEtape3) 0%, var(--colorEtape3) 50%, #fff 50%, #fff 100%);
  border: 1px solid var(--colorEtape3) !important;
}

#sBaseCalculPrincipal .progressBarCursor input[type="range"]::-webkit-slider-thumb {
  background: var(--colorEtape3) !important;
}

#sBaseCalculPrincipal .progressBarCursor input[type="range"]::-moz-range-thumb {
  background: var(--colorEtape3) !important;
}

#ongletCredit .progressBarCursor input[type="range"] {
  background: linear-gradient(to right, var(--colorEtape6) 0%, var(--colorEtape6) 50%, #fff 50%, #fff 100%);
  border: 1px solid var(--colorEtape6) !important;
}

#ongletCredit .progressBarCursor input[type="range"]::-webkit-slider-thumb {
  background: var(--colorEtape6) !important;
}

#ongletCredit .progressBarCursor input[type="range"]::-moz-range-thumb {
  background: var(--colorEtape6) !important;
}

/*
*************************************************
****************** END GENERIQUE *****************
*************************************************
 */

/**************************************************************************************************************
************************************************ HEADER ***************************************************
**************************************************************************************************************/
.logo {
  cursor: pointer;
  margin-right: 10px;
}


/* ----- nav mobile ----- */
.navbar-toggler {
  background-color: #ffd874;
}

.menuConnection .legende {
  padding: 4px 4px 0 4px;
  margin-bottom: 0;
  min-width: 100px;
  font-size: 0.8em;
}

.menuConnection .legende p {
  margin-left: 10px;
}

#nav-Navigation {
  opacity: 1;
}

input.calcule {
  background-color: #eaeded;
}

.menuConnection>li>div>div {
  width: 40px;
  height: 15px;
  margin-top: 2px
}

.menuConnection .legende .saisie,
.menuConnection .legende .calcule {
  border: 1px solid #c8c8c8;
}

.menuConnection .legende .obligatoire,
.menuConnection .legende .saisiePossible {
  font-size: 1.4em;
  border: 1px solid #f2f2f2;
  border-radius: 15%;
  width: 37px;
  height: 25px;
  background-color: #f2f2f2;
}

.menuConnection .legende .obligatoire p,
.menuConnection .legende .saisiePossible p {
  margin-left: 7px;
  margin-top: 2px;
}

.hiddenObligatoire span.obligatoire {
  display: none;
}

.menuConnection .legende .obligatoire {
  color: #f00;
}

.menuConnection .legende .saisiePossible {
  color: #00f
}

#navInfoConnexion {
  margin: auto;
}

.menuConnection a,
.menuConnection a:hover,
.menuConnection:visited,
.menuConnection:link {
  color: #f2f2f2;
  font-size: 1em;
}

.menuConnection>div>li>div>p {
  font-size: 0.6em;
  color: #f2f2f2;
  margin-left: 5px;
  margin-top: 2px;
  text-transform: initial;
}

#header-title-mobile,
#header-menu-mobile {
  color: var(--colorEtape3);
  text-transform: uppercase;
  font-weight: bold;
}



header {
  transition: top 0.3s ease-in-out;
  color: #fff;
}

header #menu-logo,
header #menuIntermediaire,
header #nav-Navigation {
  background-color: var(--colorEtape3);
  width: 100%
}

header #nav-Navigation {
  width: 100%;
  z-index: 1000;
}

.navbar-light .navbar-nav .nav-link {
  color: #f2f2f2;
}

header a,
header li {
  text-transform: uppercase;
  font-size: 1em;
  background-color: var(--colorEtape3);
  text-align: left;
  margin-top: 3px;
  margin-bottom: 3px;
}

#dateMiseAjour {
  font-size: 0.7em !important;
  margin-left: 10px;
  width: 50px;
}

header li>i {
  margin-right: 10px;
}

header .link {
  font-size: 0.9em;
}

header a:hover {
  color: #000;
}

header ul {
  border-bottom: 2px solid var(--colorEtape3);
}

header ul li:nth-child(1) {
  border-right: 2px solid var(--colorEtape3);
}

header #menuIntermediaire .actions {
  display: flex;
  justify-content: flex-start;
  width: 100%;
}

header #menuIntermediaire .actions li {
  width: auto;
  margin-right: 10px;
}

#menuIntermediaire .etape1 {
  width: 110px;
  margin-left: 25px;
  padding: 5px 5px 5px 5px;
  border: 1px solid #f2f2f2;
}

#menuIntermediaire .disquette {
  margin: auto;
  margin-right: 25px;
  width: 35px;
}

#menuIntermediaire input {
  height: 40px;
  width: 320px;
}

.mobileMenuBottom {
  background-color: var(--colorEtape3);
}

.mobileDiconnect {
  padding: 3rem auto;
  background-color: var(--colorEtape3);
}

.navbar-brand {
  font-size: 2.25rem;
}

/*-----*/

.mainHeader {
  background-color: var(--colorEtape3);
  color: #fff;
  margin-top: -19px;
}

#nav-Navigation {
  width: 240px;
  padding: 10px;
}

#nav-Navigation ul {
  border-top: 2px solid #f2f2f2;
  text-align: left;
  padding-top: 5px;
}

#nav-Navigation ul a,
#nav-Navigation ul a:hover,
#nav-Navigation ul a:link,
#nav-Navigation ul a:visited,
#listeMesSitesDeRecherches a {
  color: #f2f2f2;
  display: block;
  text-align: left;
}

header .nav-brand div:not(.titreMenu) {
  display: none;
}

header .titreMenu {
  border: none;
}

#divDuBtnNav {
  background-color: var(--colorEtape3);
  border-top: 1px solid #0b5345;
  padding: 5px;
  display: flex;
}

#btnMenuIntermediaire,
#btnMenuIntermediaire:focus {
  background-color: transparent;
  box-shadow: none;
  left: 10px;
  z-index: 1;
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#btnMenuIntermediaire i {
  font-size: 2.3em;
  color: #fff;
}

#menuIntermediaire {
  position: relative
}

#menuIntermediaire .logo {
  height: 35px;
  margin: auto 5px;
}

#menuIntermediaire i.logo {
  font-size: 1.3em;
  height: unset;
}

#menuIntermediaire label {
  position: absolute;
  left: -9999999px;
  top: -9999999px;
}

#bandeauAcces {
  position: absolute;
  z-index: 99;
  background-color: var(--colorEtape6);
  padding: 25px;
}

#listeMesSitesDeRecherches {
  height: 45px;
  margin-top: -3px;
}

#listeMesSitesDeRecherches a {
  display: block;
  width: 38px;
  height: 38px;
  padding: unset;
  margin-top: 0;
}

#listeMesSitesDeRecherches .btn-abonnement {
  width: 100%;
  height: 38px;
  max-height: 38px;
  margin-left: 35px;
  padding-right: 5px;
}

#listeMesSitesDeRecherches .btn-abonnement img {
  width: 65px !important;
  max-width: unset;
}

#logoheader {
  min-height: 81px;
}

#listeMesSitesDeRecherches img {
  width: 100%;
  height: 100%;
}

header .urlAnnonce {
  margin-top: -3px;
}

/*MEDIA QUERIES HEADER*/
@media screen and (min-width: 420px) {
  header .nav-brand div:not(.titreMenu) {
    display: initial;
  }


}

header .contact-tooltip {
  position: initial;
  margin-top: 10px;
}

/**************************************************************************************************************
  ************************************************ END HEADER ***************************************************
  **************************************************************************************************************/

/**************************************************************************************************************
************************************************ HOME ***************************************************
**************************************************************************************************************/

#home #section1 {
  margin-top: 155px;
  margin-bottom: 10px;
  max-width: 1000px;
  margin: auto;
}



#home section h1 {
  text-align: center;
  font-size: 2em;
  font-family: "Oxlaide";
}



#home #section2 ul {
  margin: 0;
}

#home #section2 ul:first-child a {
  width: 200px;
  font-size: 1.5em;
  text-transform: uppercase;
}

#home #section2 ul:not(:first-child) a {
  margin-top: 2px;
}

#home h1,
#phraseAccueil {
  color: #000;
  text-transform: unset;
}

/**************************************************************************************************************
************************************************ END HOME ***************************************************
**************************************************************************************************************/

/**************************************************************************************************************
************************************************ SIMULATEUR ***************************************************
**************************************************************************************************************/
#simuHeader {
  background-color: var(--colorEtape3);
}

#simuHeader input {
  align-self: center;
}

#simuHeader>div {
  min-width: 270px;
  text-align: right;
  margin: 2px auto;
  color: #f2f2f2;
  width: 90%;
}

.deviseMarginRight {
  margin-right: 15px;
}

#divTravaux>div {
  margin-top: -2px !important;
}

#divTravaux>div>label {
  width: 175px;
}

#contentSbaseCalcul .accordion-header {
  margin-left: -40px;
}

#formSbaseCalcul {
  width: 95%;
  margin: 10px auto;
  border: 3px solid #f2f3f4;
  padding-top: 15px;
}

#ficheContact {
  margin-bottom: 25px;
}

#btnFicheContact {
  display: none;
}

.formRow,
#travaux .formRow {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 5px;
}

.formRow label,
.formRow input {
  display: block;
}

.formRow label {
  margin-right: 0;
  margin-right: auto;
}

.bloc-label1 {
  border: 1px solid rgb(200, 200, 200);
  border-radius: 3px;
  height: 25px;
  margin-right: 5px;
  padding: 2px 5px;
}

.row1 {
  margin: 15px 30px;
}

#contentSbaseCalcul .accordion-body .row1 {
  margin: 5px 30px;
}

.row1>input,
.row1>.likeInput,
.row1>select,
.rowTravaux>input {
  width: 100%;
  min-width: 150px;
}

.row1>.likeInput input {
  width: 100%;
}

.likeInput {
  position: relative !important;
}


.tooltipss {
  position: absolute;
  top: 0;
  right: 0;
}

#simulateur section {
  width: 95%;
  margin: auto;
  border: 3px solid #f2f3f4;
  padding: 5px;
}

/* ---------------------------------------- COLONNE 1 ---------------------------------------- */

.typeAchatInputRow .tooltipss {
  position: inherit;
  top: unset;
  right: unset;
}

#collapseBTNSficheContact {
  height: 40px;
  padding: 0;
}

#collapseBTNSficheContact .simuSectionsHeaders {
  margin: unset;
  width: 100%;
  border-bottom-left-radius: 10px;
}

#accordionsFicheContact .accordion-item {
  border-bottom-left-radius: 12px;
}

#accordionsFicheContact img {
  margin-left: 10px;
}

.simuSectionsHeaders {
  position: relative;
  margin: 35px 0 20px;
  background: #DCEDF8;
}

.simuSectionsHeaders>img {
  max-width: 40px;
  max-height: 60px;
  height: auto;
  bottom: 5px;
}

.simuSectionsHeaders>h2 {
  padding: 5px 40px;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: bold;
  margin-left: -30px;
}

/* ---------------------------------------- VISUELS SIMULATION ---------------------------------------- */

#sBaseCalculSimulation {
  overflow: hidden;
  display: flex;
  width: 100%;
  max-width: 220px;
  height: auto;
  aspect-ratio: 3 / 2;
  margin: 10px auto;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.15);
}

#sBaseCalculSimulation>div {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

#sBaseCalculSimulation>.maison {
  background-image: url(../img/visuels/photosLibres/Rabbit-Immo-MAISON-SELECTION.jpg);
}

#sBaseCalculSimulation>.appartementUnique {
  background-image: url(../img/visuels/photosLibres/Rabbit-Immo-APPARTEMENT-SELECTION.jpg);
}

#sBaseCalculSimulation>.appartementMultiple {
  background-image: url(../img/visuels/photosLibres/Rabbit-Immo-LOT-APPARTEMENT-SELECTION.jpg);
}

#sBaseCalculSimulation>.parking1 {
  background-image: url(../img/visuels/photosLibres/GARAGE.jpg);
}

#sBaseCalculSimulation>.parking2 {
  background-image: url(../img/visuels/photosLibres/PARKING.jpg);
}

#sBaseCalculSimulation>.parking3 {
  background-image: url(../img/visuels/photosLibres/PARKING.jpg);
}

#sBaseCalculSimulation>.parking4 {
  background-image: url(../img/visuels/photosLibres/PARKING.jpg);
}

#sBaseCalculSimulation>.parking5 {
  background-image: url(../img/visuels/photosLibres/PARKING.jpg);
}

#sBaseCalculSimulation>.immeuble {
  background-image: url(../img//visuels/photosLibres/Rabbit-Immo-IMMEUBLE-SELECTION.jpg);
}

#sBaseCalculSimulation>.autreOrDefault {
  background-image: url(../img//visuels/photosLibres/Rabbit-Immo-AUTRE-SELECTION.jpg);
}

#sBaseCalculSimulation .toit_immeuble {
  background-image: url(../img/visuels/toit-immeuble.png);
  width: 100%;
  height: 70px;
  min-height: 70px;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: center;
  background-size: cover;
  margin: 0 auto;
}

#sBaseCalculSimulation>.immeuble .etage {
  background-color: #F1693D;
  width: 100%;
  height: 60px;
  min-height: 60px;
  padding: 5px 2px;
  display: flex;
  flex-direction: row;
  overflow-x: hidden;
}

#sBaseCalculSimulation>.immeuble .etage .appartement {
  background: rgb(255, 247, 125);
  background: -moz-linear-gradient(135deg, rgba(255, 247, 125, 1) 50%, rgba(255, 236, 88, 1) 50%);
  background: -webkit-linear-gradient(135deg, rgba(255, 247, 125, 1) 50%, rgba(255, 236, 88, 1) 50%);
  background: linear-gradient(135deg, rgba(255, 247, 125, 1) 50%, rgba(255, 236, 88, 1) 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff77d", endColorstr="#ffec58", GradientType=1);
  margin: 0 2px;
  height: 100%;
  width: 100%;
  min-width: 88px;
  display: flex;
}

#sBaseCalculSimulation>.immeuble .etage .appartement>div {
  height: 100%;
  width: 50%;
  position: relative;
}

#sBaseCalculSimulation>.immeuble .etage .appartement>div>span {
  position: absolute;
}

#sBaseCalculSimulation>.immeuble .etage .appartement>div:nth-of-type(1)>span:nth-of-type(1) {
  left: 2px;
}

#sBaseCalculSimulation>.immeuble .etage .appartement>div:nth-of-type(1)>span:nth-of-type(2) {
  top: 37%;
  left: 2px;
}

#sBaseCalculSimulation>.immeuble .etage .appartement>div:nth-of-type(2)>span:nth-of-type(1) {
  bottom: 0;
  right: 2px;
}

#sBaseCalculSimulation>.immeuble .etage .appartement>div:nth-of-type(2)>span:nth-of-type(2) {
  top: 37%;
  right: 2px;
}

/* sBaseCalculSimulation */

#sBaseCalcul #sBaseCalculSimulation {
  width: 100%;
  max-width: 220px;
  height: auto;
  aspect-ratio: 3 / 2;
  background-color: transparent;
}

/********* Accordéon****************/
#contentSbaseCalcul .accordion-item {
  border: none;
}

#contentSbaseCalcul .accordion-button {
  top: 0 !important;
}

#contentSbaseCalcul .accordion-button,
#contentSbaseCalcul .accordion-button:not(.collapsed),
#contentSbaseCalcul .accordion-header {
  width: 0;
  background-color: unset;
  border: none;
  box-shadow: none;
}

#simulateur #ongletCredit>div:nth-child(1)>div:nth-child(2)>ul:nth-child(5)>li:nth-child(7) {
  background-color: var(--colorEtape5);
}

#contentSbaseCalcul .accordion-button::after {
  background-color: #ffe8ac;
  width: 25px;
  height: 25px;
  background-position: center;
  border-radius: 50%;
  fill: #f2f2f2;
  position: absolute;
  top: -12.5px !important;
  cursor: pointer;
}

#accordionMensualite {
  width: unset !important;
}

#ongletCredit .accordion-body {
  width: 100%;
  display: block;
  padding-top: 0;
}

/******************** Fin accordéon ******************/

#simulateur #sIndicateurs ul>li>div:nth-child(2) {
  /* visibility: hidden; */
  display: none;
}

#simulateur #calculerIndicateurs {
  display: block;
  text-align: center;
  margin: auto;
  /* margin-right: 10px; */
  margin-top: 10px;
  border-radius: 3px;
  background-color: var(--colorEtape2);
}

#formSbaseCalcul>div {
  margin-bottom: 10px;
}

#contentSbaseCalcul>div {
  margin: 5px auto;
}

#sIndicateurs>div {
  margin: 10px auto;
}

#contentSbaseCalcul>div,
#sIndicateurs>div {
  border-style: solid;
  border-width: 1px;
  border-left-width: 10px;
  border-radius: 12px
}

#sBaseCalculPrincipal,
#sIndicateurs>div {
  border-color: var(--colorEtape3);
}

#ongletLoyer {
  border-color: var(--colorEtape4);
}

#ongletCharges {
  border-color: var(--colorEtape5);
  ;
}

#ongletCredit {
  border-color: var(--colorEtape6);
}

#simulateur #legende {
  width: 70%;
  margin-bottom: 20px;
}

.input-icon {
  position: relative;
}

.input-icon>i {
  position: absolute;
  display: block;
  transform: translate(0, -50%);
  top: 50%;
  pointer-events: none;
  width: 25px;
  text-align: center;
  font-style: normal;
  z-index: 1;
}

.input-icon>input {
  padding-left: 25px;
  padding-right: 0;
}

.input-icon-right>i {
  right: 0;
}

.input-icon-right>input {
  padding-left: 0;
  padding-right: 25px;
  text-align: right;
}

/* ---------------------------------------- COLONNE 1 */
/* ---------------------------------------- BLOC APRES VISUEL ---------------------------------------- */

#sBaseCalculBien {
  border: 2px solid var(--colorEtape1);
  border-left-width: 10px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  margin-top: 10px;
  position: relative !important;
  overflow: hidden !important;
}

#sBaseCalculBien .row-type-bien {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 3px auto !important;
  padding-right: 32px !important;
  position: relative !important;
  box-sizing: border-box !important;
}

#sBaseCalculBien .row-type-bien .col-left {
  width: 130px !important;
  min-width: 130px !important;
  max-width: 130px !important;
  display: flex !important;
  align-items: center !important;
}

#sBaseCalculBien .row-type-bien .col-right {
  flex-grow: 1 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

#sBaseCalculBien .row-type-bien label {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.95em !important;
  font-weight: 600 !important;
  color: #333 !important;
  white-space: nowrap !important;
}

#sBaseCalculBien .row-type-bien input,
#sBaseCalculBien .row-type-bien select {
  width: 100% !important;
  height: 32px !important;
  padding: 4px 8px !important;
  font-size: 0.9em !important;
  box-sizing: border-box !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
}

#sBaseCalculBien .row-type-bien .devise {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 0.85em !important;
  color: #555 !important;
  pointer-events: none !important;
  z-index: 2 !important;
  margin: 0 !important;
}

#sBaseCalculBien .row-type-bien .tooltipss {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  display: block !important;
}

#sBaseCalculBien #rPlus.invisible {
  display: none !important;
  visibility: hidden !important;
}

#sBaseCalculBien .row1 {
  margin-top: 5px;
  margin-bottom: 5px;
  ;
}

.formRow .relative .row1 select {
  min-width: 150px
}

#sBaseCalculBien .row1 label {
  width: 150px !important;
}

#sBaseCalculBien .devise {
  font-size: 0.8em;
  text-align: right;
  display: block;
  width: 40px;
  position: unset;
  margin-left: -42px;
  z-index: 1;
  margin-top: 6px;
  margin-bottom: -6px;
}

#etape2Col2 {
  width: 120px;
  max-width: 120px;
  margin-left: auto !important;
}

#etape2Col2 .tooltipss {
  top: -20px;
  right: -4px;
}

#sBaseCalcul6 {
  border-color: var(--colorEtape7);
}

/* ----- fiche contact ----- */
#fiche_contact_dateRendez_vous {
  width: 45%;
}

#fiche_contact_dateRendez_vous>input {
  width: 100%;
  max-width: unset;
}

#sFicheContact .form-group {
  width: 95%;
  padding-right: 5px;
  margin: 5px auto;
}

#sFicheContact .form-group-textarea {
  padding-right: 0;
}

/* ----- type d'achat ----- */
#typeAchat .formRow {
  width: 95%;
  margin: 5px auto;
}

/* ----- MEDIA QUERIES COLONNE 1 : BLOCS VISUELS, APRES VISUELS, FICHE CONTACT ET TYPE D'ACHAT ----- */
@media screen and (max-width: 360px) {

  /* bloc apres visuel  */
  #sBaseCalculBien>.formRow {
    flex-direction: column;
    max-width: 150px;
    margin: 5px auto;
    padding-right: 0;
  }

  #sBaseCalculBien>.formRow>div,
  #sBaseCalculBien>.formRow select,
  #sBaseCalculBien>.formRow input {
    width: 100%;
  }

  #sBaseCalculBien .formRow label {
    text-align: left;
  }

  #sBaseCalculBien .contact-tooltip {
    top: 0;
  }

}

@media screen and (max-width: 380px) {

  /* fiche contact */
  #sFicheContact .form-group {
    flex-direction: column;
  }

  #sFicheContact .form-group>* {
    width: 100%;
    margin: 0 auto;
  }

  #sFicheContact .form-group>div:nth-of-type(1),
  #sFicheContact .form-group>label {
    border: none;
  }
}

#simulateur #typeAchat input[type="radio"] {
  margin-right: 10px;
}

/* ----- FIN ----- COLONNE 1 ----- */

/* ---------------------------------------- ETAPES 1-6 */
/* ---------------------------------------- ETAPE 1 ---------------------------------------- */
#travaux>div {
  background-color: #fff4da;
  margin: 2px 0;
  padding: 3px 0;
  border-radius: 3px;
}

.travauxTitleColumn {
  margin-left: 5px;
  margin-top: -5px;
  margin-bottom: 15px;
  display: block;
  font-weight: bold;
  color: var(--colorEtape3);
}

#travaux #travaux-column-labels {
  display: none;
}

/* ---------------------------------------- ETAPE 5 ---------------------------------------- */
#sBaseCalcul6 .formRow input,
#sBaseCalcul6 .formRow select,
#sBaseCalcul6 .formRow #btn-tmi-toggle {
  min-width: unset;
}

/* fin etape 5 */

/* ---------------------------------------- ETAPE 6 : indicateurs ---------------------------------------- */
#sIndicateurs {
  border-color: var(--colorEtape3);

}

#sIndicateurs .border-top-crochet,
#sIndicateurs .border-bottom-crochet {
  width: 40px;
  margin-left: -8px;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: var(--colorEtape3);
}

#sIndicateurs .icon {
  align-self: center;
}

#sIndicateurs img {
  width: 40px;
}

#sIndicateurs .tootltipButton img {
  width: 60%;
}

#sIndicateurs>div.first {
  margin-top: 20px;
}

div#sIndicateurs .border-left {
  margin: 5px auto;
  border-left: 2px solid var(--colorEtape3);
  margin-left: -15px;
  width: calc(83.33333333% + 15px);
}



#sIndicateurs .etape-content {
  padding: 5px 10px;
}

#sIndicateurs .ligne {
  margin: 5px auto;
  position: relative;
  flex-direction: row !important;
}

#sIndicateurs .ligne>*:not(.tooltipss) {
  width: 100%;
}

#sIndicateurs .fakeInput {
  width: 130px;
  max-width: 130px;
}

#sIndicateurs .ligne .tooltipss {
  position: unset;
  top: unset;
  left: unset;
  right: unset;
}

.row1 .row {
  padding-left: 0;
}

div#sIndicateurs .nomIndicateur:not(.border-left .nomIndicateur) {
  margin-left: -15px;
}

div#sIndicateurs .border-left .nomIndicateur {
  margin-right: 15px;
}

/* div#sIndicateurs .border-left .nomIndicateur{
  margin-left: 0;
} */

/* ---------------------------------------- MEDIA QUERIES ETAPES 1-6 */
@media screen and (min-width: 420px) {

  /* --------------------- ETAPE 6 : indicateurs --------------------- */
  #sIndicateurs .ligne {
    flex-direction: row !important;
  }

  #sIndicateurs .ligne .tooltipss {
    right: -22px;
  }

  #sIndicateurs .ligne.ligne-scrochet .tooltipss {
    right: -15px;
  }

}

@media screen and (min-width: 460px) {

  /* --------------------- ETAPE 6 : indicateurs --------------------- */
  #sIndicateurs .etape-content {
    padding: 5px 15px;
  }
}

/* ----- FIN---------------------------------------- MEDIA QUERIES ETAPES 1-6 */

/* ---------------------------------------- LOYER / CHARGES */
#simulateur #sLoyerEtage,
#simulateur section {
  margin-bottom: 50px;
}

#sLoyerEtage .simuSectionsHeaders {
  background-color: #ffd874;
  color: #0e0e0e;
}

#sChargesCalcul .simuSectionsHeaders,
#sLoyerEtage .simuSectionsHeaders {
  margin: 0;
}

#simulateur #etagesLabelColumn {
  display: none !important;
}

.etage .appartement>div:not(.etageLabel),
#sloyerEtagetotalTotal>div,
#totaux>div {
  width: 75%;
  margin: 5px 0 5px 30px;
}

.etage .appartement .etageLabel {
  width: 100%;
  margin: 5px auto;
}

.etage .appartement>div input,
.etage .appartement>div select,
#sloyerEtagetotalTotal input,
#totaux input {
  width: 100%;
}

#sLoyerEtage .tooltipss {
  top: 8px;
  right: 8px;
}

#divCharges {
  padding: 0;
}

#divCharges>div>div {
  margin-top: 8px;
}

#simulateur #sChargesCalcul h3 {
  color: #f2f2f2;
  background-color: var(--colorEtape5);
  text-align: center;
  width: 90%;
  margin: 5px 0;
  text-transform: uppercase;
  padding: 3px;
}

#simulateur #sChargesCalcul input {
  width: 100%;
}

#simulateur #sChargesCalcul .div-wrapper {
  position: absolute;
  top: 3px;
  right: 0;
}

#chargesFaculativesHabituel>div>div {
  margin: 2px 0;
}

#chargesFaculativesHabituel .label {
  padding-right: 70px;
}

#variables li {
  background-color: #8e44ad !important;
}

.warning-bkg {
  background-color: #c0392b !important;
}

.bi-radioactive {
  background-color: #f1c40f;
  border-radius: 50%;
}


/* ---------------------------------------- MEDIA QUERIES */
@media screen and (min-width: 420px) {

  .etage .appartement>div:not(.etageLabel),
  #sloyerEtagetotalTotal>div,
  #totaux>div {
    width: 55%;
    margin-left: 50px;
  }
}

@media screen and (min-width: 540px) {

  .etage .appartement>div:not(.etageLabel),
  #sloyerEtagetotalTotal>div,
  #totaux>div {
    width: 40%;
    margin-left: 100px;
  }
}

/* -------FIN------------------------------------------- MEDIA QUERIES */


.simuSections,
.contentVisuel {
  position: relative;
}

.titleEtape {
  color: #f2f2f2;
  text-transform: uppercase;

}

@media screen and (max-width: 768px) {
  .titleEtape,
  .contentVisuel .titleEtape {
    top: 0;
    left: 0;
    width: 100%;
    color: #fff;
    text-transform: uppercase;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 24px !important;
    padding: 0 !important;
    font-size: 14px !important;
  }

  .simuSections .titleEtape p:nth-child(1),
  .contentVisuel .titleEtape p:nth-child(1) {
    margin: 0 !important;
    padding: 0 10px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    border-right: 2px solid #ffffff !important;
    border-bottom: none !important;
    background: none !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    width: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .simuSections .titleEtape p:nth-child(2),
  .contentVisuel .titleEtape p:nth-child(2) {
    margin: 0 !important;
    padding-left: 10px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    flex-grow: 1 !important;
    justify-content: center !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
  }

  #ongletLoyer .loyer-header-banner .banner-title {
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: normal !important;
  }
}

#ongletLoyer .titleEtape {
  background-color: var(--colorEtape4);
}

#ongletCharges .titleEtape {
  background-color: var(--colorEtape5);
}

#sBaseCalculBien .titleEtape {
  background-color: var(--colorEtape1);
}

.titleEtape {
  border-top-right-radius: 8px;
}

#sBaseCalculBien #listeRPlus {
  position: absolute;
  background-color: var(--colorEtape3);
  width: 100%;
  text-align: center;
  color: #f2f2f2;
  top: 48px;
  z-index: 2;
  height: 200px;
  overflow: auto;
}

#sBaseCalculBien #listeRPlus li:not(.separator) {
  display: flex;
  align-items: center;
  height: 30px;
  justify-content: center;
}

#sBaseCalculBien #listeRPlus li:not(.separator):hover {
  background-color: #ffe8ac;
  color: #000;
}


#sBaseCalculBien .borderTab {
  border: 2px solid var(--colorEtape1);
  border-top: none;
  border-left-width: 10px;
}

#typeAchat {
  border: 2px solid var(--colorEtape2);
  border-left-width: 10px;
  max-height: 110px;
  border-radius: 12px;
  margin-top: 10px;
  margin-bottom: 10px;
}

#typeAchat .tooltipss {
  position: static !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#typeAchat .tootltipButton {
  margin-left: 5px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  background-color: #f2f2f2 !important;
  border: 1px solid #ccc !important;
}

#typeAchat .tootltipButton::after {
  content: "i" !important;
  color: #82aab8 !important;
  font-family: "Albert Sans", "Inter", sans-serif !important;
  font-weight: bold !important;
  font-style: italic !important;
  font-size: 10px !important;
  line-height: 1 !important;
  display: block !important;
}

#typeAchat .tootltipButton img {
  display: none !important;
}

#typeAchat .titleEtape {
  background-color: var(--colorEtape2);
}

#ongletCredit .titleEtape {
  background-color: var(--colorEtape6);
}

#sBaseCalcul6 .titleEtape {
  background-color: var(--colorEtape7);
}

#sBaseCalculPrincipal .titleEtape,
#sIndicateurs .titleEtape {
  background-color: var(--colorEtape3);
  border-top-right-radius: 8px;
}

.titleEtape span {
  display: table;
  margin: auto 0 0 auto;
  font-size: 0.7em;
  text-transform: initial;
}

.hasSectionHeader .simuSectionsHeaders {
  background-color: var(--colorEtape3);
  color: #f2f2f2;
}

.borderEtape {
  border-style: solid;
  border-width: 1px;
  border-left-width: 10px;
  border-top-width: 4px;
  border-radius: 10px
}

#sBaseCalculFinancement {
  flex-wrap: nowrap;
}

#sBaseCalculFinancement>label {
  min-width: 120px;
}

#sBaseCalculFinancement .tooltipss {
  position: inherit;
}

#sBaseCalcul6 .tooltipss {
  right: -25px;
}

#sChargesCalcul .simuSectionsHeaders {
  background-color: var(--colorEtape5);
}

#simulateur #sCreditCalcul {
  padding: 0;
}

#simulateur #sCreditCalcul .simuSectionsHeaders {
  background-color: #beb5ae;
  color: #fff;
  margin-top: 0;
}

#simulateur #sCreditCalcul form .formRow label,
#sCreditCalcul form .formRow .champDeroulant {
  width: 90%;
}

#simulateur #sCreditCalcul form .formRow input:not([type="checkbox"]) {
  width: 100%;
}

#sCreditCalcul #sCredit {
  padding: 5px;
}

#sLoyerEtage .appartement {
  display: flex;
  flex-direction: row;
}

#simulateur #etagesAll>div>div {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

#simulateur .listeDureeCredit {
  position: absolute;
  background-color: var(--colorEtape3);
  color: #f2f2f2;
  right: 0;
  top: 25px;
  width: 210px;
  z-index: 1000 !important;
  text-align: center;
}

#simulateur .listeDureeCredit li:not(.separator) {
  display: flex;
  align-items: center;
  height: 30px;
  justify-content: center;
  padding: 0 8px;
}

#simulateur .listeDureeCredit li.header-taux-moyens {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.28);
  cursor: default;
  user-select: none;
  pointer-events: none;
  height: 28px;
  line-height: 28px;
  padding: 0 10px;
  white-space: nowrap;
}

#simulateur .listeDureeCredit li:not(.separator):not(.header-taux-moyens) {
  cursor: pointer;
}

#simulateur .listeDureeCredit li:not(.separator):not(.header-taux-moyens):hover {
  background-color: #ffe8ac;
  color: #000;
}

#simulateur .listeDureeCredit li.backgroundRed:hover {
  background-color: #f5b041;
}


.separator {
  width: 100%;
  height: 2px;
  border-top: 2px solid #d7dbdd;
  margin: auto;
}


#sIndicateurs .separator {
  margin-top: 10px;
}

#simulateur select {
  text-align: center;
}

#simulateur #divCharges label {
  position: absolute;
  left: -99999px;
}

#simulateur #sChargesCalcul label {
  position: absolute;
  top: -10000000px;
  left: -999999999px;
}

#simulateur #sChargesCalcul .deviseCharge {
  position: absolute;
  right: 15px;
}

#sLoyerEtage .etage:nth-child(odd) {
  background-color: #eafaf1;
  margin-top: 5px;
  margin-bottom: 5px;
}

#sLoyerEtage .appartement {
  margin: 1px auto;
}


/** Bouton interrupteur **/

/* checkboxn° ck */
/********************Button 2*******************/
.wrapper {
  position: relative;
}

.box-2 {
  width: 60px;
  height: 12px;
  background: rgb(200, 200, 200);
  position: relative;
  border-radius: 12px;
  margin: auto;
}

.box-2 input {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
  z-index: 999;
}

.box-2 .toogle {
  position: absolute;
  z-index: 998;
  width: 25px;
  height: 25px;

  top: -6px;
  box-shadow: 0px 0px 3px rgb(50, 50, 50) inset;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  text-align: center;
  border-radius: 100%;
  display: table-cell;
  background: #bf0338;
}

.box-2 .toogle:before {
  content: "OFF";
  color: #fff;
  text-shadow: 1px 1px #000;
  font-family: tahoma;
  font-size: 11px;
  vertical-align: middle;
}

.box-2 input:checked~.toogle {
  margin-left: 35px;
  background: var(--colorEtape3);
}

.box-2 input:checked+.toogle:before {
  content: "ON";
}

.online {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--colorEtape3);
  margin: 25px auto;
  padding: 10px;
  width: 100%;
}

.online label {
  position: absolute;
  left: -99999px;
}

.online input {
  margin: 5px auto;
  width: 100%;
}

#sFicheContact #fiche_contact_annonce {
  width: 100%;
  height: 75px;
}

#sFicheContact label[for="fiche_contact_annonce"] {
  height: fit-content;
}

#simulateur #sChargesCalcul .accordion-header {
  margin-left: unset;
}


#simulateur #btncollapseOptionCharge {
  border: 1px solid var(--colorEtape3);
  padding-top: 5px;
  margin-top: 5px;
}

.backgroundRed {
  background-color: var(--colorEtape5);
}

/**************************************************************************************************************
************************************************ END SIMULATEUR ***********************************************
**************************************************************************************************************/





/**************************************************************************************************************
************************************************ COMPARATEUR ***********************************************
**************************************************************************************************************/

#pageComparateur h1 {
  color: var(--colorEtape3);
}

#pageComparateur h2 {
  font-weight: bold;
}

#pageComparateur>section {
  width: 90%;
  margin: 0 auto;
}

#pageComparateur label {
  box-shadow: none;
}

/*----simulations-----*/

#pageComparateur>section#simulations>div#simuHeader {
  display: none;
}

#pageComparateur>section#simulations>form#formSimu {
  display: flex;
  flex-direction: column;
}

#pageComparateur>section#simulations>form#formSimu>button {
  max-width: 150px;
  margin: 20px auto;
}

/*----comparateur-----*/

#pageComparateur>section#simulations>form>ul>li {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-start;
}

#pageComparateur>section#simulations>form>ul>li>label {
  text-align: left;
  margin-left: 20px;
}

#comparateur>h2 {
  text-align: center;
}

#comparateur h3 {
  font-weight: bold;
  color: var(--colorEtape3);
  border-bottom: 1px solid var(--colorEtape3);
}

#comparateur .mobileScreen div.simuCard {
  padding: 10px 20px;
  background-color: #fff;
  margin: 20px auto;
}

#comparateur .mobileScreen div.simuCard>ul {
  margin: 25px 0;
}

#comparateur .mobileScreen div.simuCard>ul>li {
  margin: 5px 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

#comparateur .mobileScreen div.simuCard>ul>li>span:nth-of-type(1) {
  width: 60%;
  font-weight: bold;
}

/**************************************************************************************************************
************************************************ ECHEANCIER ***********************************************
**************************************************************************************************************/


#echeancier article {
  margin: auto;
  max-width: 630px;
  background-color: #DFEDEE;
  text-align: center;

}

#echeancier article .echeancier-header {
  background-color: #318796;
  color: #fff;
  width: 100%;
  margin: auto;
  padding: 0 5px;
}

#echeancier article table {
  margin: auto;
  border: 2px solid var(--colorEtape3);
  border-left-width: 10px;
  border-right-width: 10px;
  padding: 5px;
}

#echeancier article thead {
  background-color: var(--colorEtape1);
}

#echeancier article tbody {
  padding: 5px;
}

#echeancier .orange {
  background-color: var(--colorEtape4);
}

.echeancier-details {
  padding: 5px;
  margin-bottom: 10px;
}

.echeancier-details>div {
  background-color: #fff;
  width: 30%;
  margin: 10px;
  padding: 0 5px;
}

.echeancier-details>div:nth-child(1) {
  width: 100%;
}

.echeancier-details>div:last-child {
  width: 50%;
  margin: auto;
}

#echeancier article thead th {
  border: 1px solid gray;
  border-collapse: collapse;
}

#echeancier article thead .annee {
  width: 60px;
}

#echeancier article thead .mois {
  width: 65px;
}

#echeancier article thead .montant {
  width: 110px;
}

#echeancier article thead .charge {
  width: 110px;
}

#echeancier article thead .mensualite {
  width: 110px;
}

#echeancier article thead .capital {
  width: 160px;
}


/**************************************************************************************************************
************************************************ CONTACT ***************************************************
**************************************************************************************************************/

#contact #contact_content {
  height: 400px;
}





/**************************************************************************************************************
************************************************ GLOSSAIRE ***************************************************
**************************************************************************************************************/

#glossaire_index {
  padding: 0 10px;
}

#glossaire_index table {
  margin-top: 20px;
}

#glossaire_index .first-td span {
  font-weight: bold;
}

#glossaire_index .first-td a {
  max-width: 70px;
  margin: 10px 0;
}

#glossaire_index thead {
  display: none;
}

#glossaire_index thead th {
  padding: 5px 10px;
}

#glossaire_index tbody tr td {
  display: none;
  padding: 5px 10px;
}

#glossaire_index tbody tr td:first-of-type,
#glossaire_index tbody tr td:last-of-type {
  display: table-cell;
}

#glossaire_index tbody tr td:last-of-type a {
  max-width: 90px;
}

.table>:not(:first-child) {
  border-top: none;
}

#glossaire_show {
  padding: 0 15px;
}

#glossaire_show table tr {
  display: flex;
  flex-direction: column;
}

#glossaire_show table td {
  word-break: break-word;
}

#glossaire_show .action {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#glossaire_show .action a,
#glossaire_show .action button {
  width: 130px;
  margin: 5px;
}

.glossaire-edit {
  padding: 0 15px;
}

.glossaire-edit h1 {
  padding-top: 10px;
  margin-bottom: 30px;
}

.glossaire-edit #glossaire>div {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}

.glossaire-edit #glossaire textarea {
  min-height: 50px;
}

.glossaire-edit #glossaire .glossaire-desc {
  min-height: 100px;
}

.glossaire-edit .action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.glossaire-edit .action a,
.glossaire-edit .action button {
  min-width: 150px;
  max-width: 150px;
  margin: 5px;
}

@media screen and (min-width: 460px) {

  #glossaire_index,
  .glossaire-edit {
    padding: 0 20px;
  }

  #glossaire_show {
    margin-top: 150px;
  }

  #glossaire_show .action,
  .glossaire-edit .action {
    flex-direction: row;
  }
}

/**************************************************************************************************************
************************************************ SECURITY ***********************************************
**************************************************************************************************************/

/* ---------------------------------------- CONNEXION ---------------------------------------- */

#connexion>form {
  width: 90%;
  max-width: 320px;
  margin: 50px auto 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#connexion>form>div {
  width: 100%;
  margin: 10px auto;
}

#connexion>form>div>label {
  box-shadow: none;
}

#connexion>form>div:nth-of-type(1)>label,
#connexion>form>div:nth-of-type(2)>label {
  position: absolute;
  left: -9999px;
}

#connexion>form>div>input[type="text"],
#connexion>form>div>input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  padding: 5px 10px;
  border: 1px solid #000;
}

#connexion>form>input[type="submit"] {
  margin-top: 20px;
}

/**************************************************************************************************************
************************************************ ADMINISTRATION ***********************************************
**************************************************************************************************************/

#homeAdministration nav ul li {
  background-color: var(--colorEtape3);
  padding: 5px 15px;
  margin: 5px 10px;
  color: #fff;
  -webkit-box-shadow: 10px 10px 13px -5px rgba(0, 0, 0, 0.17);
  -moz-box-shadow: 10px 10px 13px -5px rgba(0, 0, 0, 0.17);
  box-shadow: 10px 10px 13px -5px rgba(0, 0, 0, 0.17);
}

#homeAdministration nav a {
  color: #fff;
  width: 100%;
  display: inline-block;
}

#homeAdministration nav a:hover {
  text-decoration: underline;
}

#homeAdministration nav li {
  margin: 5px 0;
}

#homeAdministration nav li:hover {
  transform: scale(1.05);
}

#simulateur span.nonApplicable {
  position: absolute;
  left: unset;
  right: 168px;
  top: 26px;
  z-index: 1;
}

#myProjects .mainHeader {
  background-color: var(--colorEtape1);
  padding: 10px 10px;
  margin-bottom: -25px;
  text-align: center;
}

#myProjects .OneProject * {
  align-items: center;
}

#myProjects .OneProject:nth-child(odd) {
  background-color: #eaf2f8;
}

#myProjects .OneProject:nth-child(even) {
  background-color: #d6eaf8;
}

/*************************************************************************************************************************
*************************************************************************************************************************
*************************************************************************************************************************
*********************************************************MEDIA QUERIES
*************************************************************************************************************************
*************************************************************************************************************************
*************************************************************************************************************************/

@media screen and (min-width: 480px) {
  /************************************************* COMPARATEUR ************************************************/

  #comparateur .mobileScreen div.simuCard {
    padding: 10px 55px;
  }

  /* ---------------------------------------- FORMULAIRES ---------------------------------------- */

  .OneProject>li:not(:nth-of-type(1)),
  .paddingProjectMobile,
  .linkToProjects {
    padding-left: 20px !important;
  }

  .linkToProjects {
    font-size: 1.8rem;
    font-weight: bold;
  }

  /************************************************* ECHEANCIER ************************************************/

  #echeancier .echeancier-resum>div {
    display: flex;
  }

  #echeancier>section>div .label {
    display: inline-block;
    ;
    width: 60%;
  }

  #echeancierListe .error-btns {
    display: flex;
    justify-content: center;
  }

  #echeancierListe .error-btns button {
    margin: 0 5px;
  }

  /************************************************* SIMULATEUR ************************************************/
  .row1 {
    margin: 15px 70px;
  }

  .accordion-body {
    margin: 0 60px;
  }

  #ongletCredit .accordion-body {
    width: auto;
  }
}

@media screen and (min-width: 550px) {

  /************************************************* SIMULATEUR ************************************************/
  .row1 {
    margin: 15px 85px;
  }

  #simulateur #sCreditCalcul form .formRow>label,
  #sCreditCalcul form .formRow .champDeroulant {
    width: 45%;
  }

  #sCreditCalcul form .formRow .champDeroulant label {
    width: 100%;
  }

  #sCreditCalcul form input {
    margin-right: 25px;
  }

  #simulateur #sCreditCalcul form .formRow input:not([type="checkbox"]) {
    width: 180px;
  }

  #sCreditCalcul form .devise {
    right: 30px;
    bottom: 3px;
  }

  #sCreditCalcul form span.obligatoire,
  #sCreditCalcul form span.saisiePossible {
    left: unset;
    right: 195px;
  }



}


@media screen and (min-width: 680px) {

  /************************************************* SIMULATEUR ************************************************/
  .row1 {
    margin: 15px 100px;
  }

  #contentSbaseCalcul .accordion-body {
    margin: 0 90px;
  }

  #sCreditCalcul form span.obligatoire,
  #sCreditCalcul form span.saisiePossible {
    right: 232px;
  }

  #simulateur #etagesLabelColumn {
    display: flex !important;
  }

  #simulateur #etagesLabelColumn>li,
  #sLoyerEtage .etage .appartement>div {
    width: 15%;
    margin: 0;
  }

  #simulateur #etagesLabelColumn>li,
  .etage .appartement .etageLabel {
    text-align: center;
  }

  #simulateur #etagesAll>div>div {
    flex-direction: row !important;
  }

  .etage .appartement>div>label {
    position: absolute;
    left: -99999px;
  }

  #sloyerEtagetotalTotal {
    justify-content: center;
  }

  #sloyerEtagetotalTotal>div {
    width: 30%;
    margin: 0 15px;
  }

  #totaux {
    display: flex;
    justify-content: space-evenly
  }

  #totaux>div {
    width: 15%;
    margin: 0;
  }

  #totaux label {
    position: absolute;
    left: -99999px;
  }

  #simulateur .formRow input:not([type="range"]) {
    padding-right: 40px;
  }

  #simulateur #sCreditCalcul form .formRow input:not([type="checkbox"]) {
    width: 218px;
  }
}

/*****************************************************************************************************************************************
********************************************************** MyProjects ********************************************************************
*****************************************************************************************************************************************/


#myProjects a,
#myProjects a:link,
#myProjects a:visited,
#myProjects a:hover {
  text-decoration: none;
  border-right: 1px solid #5dade2;
}

#myProjects .OneProject {
  background-color: #fafafa;
  margin: 20px auto;
}

#myProjects #MyProjects {
  overflow-x: auto !important;
}

#myProjects .linkList>* {
  padding: 15px;
  width: 100%;
  text-align: center;

}

#myProjects .linkList>*:hover {
  background-color: #aed6f1;
}

#myProjects .linkList {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  cursor: pointer;
  border-top: 1px solid #5dade2;
  margin-top: 10px
}

#myProjects .linkList span {
  border-right: 1px solid #5dade2;
}

#myProjects .linkList span {
  border-right: 1px solid #5dade2;
}



/*****************************************************************************************************************************************
********************************************************** END MyProjects ********************************************************************
*****************************************************************************************************************************************/

/*****************************************************************************************************************************************
********************************************************** MY ACCOUNT ********************************************************************
*****************************************************************************************************************************************/

#myAccount {
  text-align: center;
}

#myAccount .button1 {
  width: 100%;
}

#myAccount .link {
  border: 1px solid #000;
  display: block;
  width: 90%;
  margin: 10px auto;
  padding: 10px;
  background-color: #fed;
}

#myAccount .separator {
  border-top: 1px solid #000;
  width: 70%;
  margin: 15px auto;
}

#myAccount .section {
  width: 80%;
  border-top-width: 3px;
}

#myAccount form select {
  margin-bottom: 15px;
}

#myAccount label {
  position: absolute;
  left: -1000px;
}

#myAccount label[for="account_user_newsletter"] {
  position: unset;
  left: uset;
  height: max-content;
  margin-bottom: 15px;
}

#myAccount label[for="account_user_trancheAge"],
#myAccount .tranche-age-label {
  position: relative !important;
  left: 0 !important;
  display: block !important;
  height: auto !important;
  margin-bottom: 4px !important;
  color: #475569 !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
}

#myAccount input {
  height: 30px;
  width: 80%;
  margin-bottom: 15px;
}

#myAccount button[type="submit"] {
  margin-bottom: 25px;
}

/*****************************************************************************************************************************************
********************************************************** END MYACCOUNT ********************************************************************
*****************************************************************************************************************************************/

/*****************************************************************************************************************************************
********************************************************** ADMINISTRATION ********************************************************************
*****************************************************************************************************************************************/
#usersGestion ul {
  display: flex;
  flex-wrap: wrap;
}

#usersGestion ul li {
  border: 1px solid #000;
  min-width: 320px;
  margin: 15px auto;
}

#usersGestion ul li a,
#usersGestion ul li a:hover,
#usersGestion ul li a:visited,
#usersGestion ul li a:link {
  color: #000;
  text-decoration: none;
}

#usersGestion li.admin .username {
  background-color: var(--colorEtape5);
  width: 100%;
}

#usersGestion li .username {
  background-color: var(--colorEtape3);
  width: 100%;
}

#usersGestion ul li div {
  padding: 5px;
}

#modificationSIndicateur {
  width: 90%;
}

#modificationSIndicateur input {
  width: 90%;
}

#modificationSIndicateur #s_indicateurs div {
  margin-top: 5px;
}

#userGestion>div {
  margin-top: 10px;
}

#userGestion form>div {
  margin-top: 10px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

#userGestion form>div label,
#userGestion form>div input {
  width: 50%;
}

#userGestion h2 {
  color: #F0AF1B;
}

#userGestion input[type="checkbox"] {
  width: 20px;
  height: 20px;
  align-self: center;
}

#admin_mobilier form #prix_mobilier,
#admin_mobilier form #prix_mobilier div {
  margin: auto;
}

#admin_mobilier form #prix_mobilier>div {
  display: flex;
  justify-content: space-between;
  text-align: right;
  max-width: 300px;
  margin-top: 10px;
}

#admin_mobilier button {
  display: block;
  margin: 10px auto;
}


/*****************************************************************************************************************************************
********************************************************** END ADMINISTRATION **************************************************************
*****************************************************************************************************************************************/

/*****************************************************************************************************************************************
********************************************************** ECHEANCIER *******************************************************************
*****************************************************************************************************************************************/
#echeancierListe ul.list {
  display: flex;
  flex-wrap: wrap;
}

#echeancierListe li>a {
  display: block;
  border: 2px solid var(--colorEtape3);
  margin: 15px;
}

#echeancierListe li>a,
#echeancierListe li>a:visited,
#echeancierListe li>a:hover,
#echeancierListe li>a:link {
  color: #000;
  text-decoration: none;
}

#echeancierListe ul ul li {
  padding: 5px 15px;
  width: 230px;
}

#echeancierListe .reference {
  background-color: var(--colorEtape3);
  color: #f2f2f2;
  overflow-wrap: break-word;
}

.echeancier-header .bg-light {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*****************************************************************************************************************************************
********************************************************* END ECHEANCIER *******************************************************************
*****************************************************************************************************************************************/



/*****************************************************************************************************************************************
********************************************************* ARTICLE IMAGE *******************************************************************
*****************************************************************************************************************************************/

.image-container {
  display: inline-block;
  margin: 10px;
}

.image-container img {
  max-width: 150px;
  max-height: 150px;
  cursor: pointer;
  border: 2px solid transparent;
}

.image-container img:hover {
  border-color: #007bff;
}

.miniature {
  max-width: 120px;
  max-height: 120px;
  margin: 5px;
  object-fit: contain;
  /* Maintient les proportions de l'image */
  display: block;
}

#listeArticle li a {
  width: 100%;
}

/*****************************************************************************************************************************************
********************************************************* END ARTICLE IMAGE **************************************************************
*****************************************************************************************************************************************/



/*****************************************************************************************************************************************
********************************************************* INSCRIPTION *******************************************************************
*****************************************************************************************************************************************/

#inscription {
  width: 90%;
  padding-top: 15px;
}

#inscription form div {
  display: flex;
  justify-content: space-between;
  margin-top: 5px;
}





/*****************************************************************************************************************************************
********************************************************* GESTION ABONNEMENTS *******************************************************************
*****************************************************************************************************************************************/

#listeAbonnement h2 {
  font-size: 2em;
  margin: 20px auto;
}

#listeAbonnement h3,
#listeAbonnement .price:not(span) {
  font-size: 1.6em;
}

#listeAbonnement .price:not(span) {
  margin-top: 25px;
  margin-bottom: -5px;
}

.abonnementVignette {
  display: block;
  border-bottom: 3px solid #000;
  background-color: #fff;
  height: 600px;
  width: 270px;
  margin: 5px auto;
  overflow: hidden;
  /* Ensure full-width image does not overflow rounded borders if any */
  padding: 0;
}

.bandeau {
  text-align: center;
  font-size: 1.5em;
  font-weight: bolder;
}


.product {
  height: 100%;
}

.product h3 {
  margin-top: 30px;
  display: flex;
  align-items: center;
  /* Aligne verticalement le contenu au centre */
  text-align: center;
}

.product h3 span {
  white-space: nowrap;
}

.product h3::before,
.product h3::after {
  content: "";
  flex: 1;
  /* Les lignes prennent tout l'espace disponible */
  height: 1px;
  /* Épaisseur du trait */
  background: #000;
  /* Couleur du trait */
}

.product h3::before {
  margin-right: 10px;
}

.product h3::after {
  margin-left: 10px;
}

.abonnementVignette a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  max-width: none;
  background: #f2f2f2;
}

.abonnementVignette img {
  margin: auto;
  text-align: center;
  width: 100%;
  height: 100%;
}

#listeAbonnement .product {
  padding: 5px;
}

#autreAbonnement>div {
  background-color: #f2f2f2;
  border: 1px solid #000;
  width: 100%;
  padding: 25px;
}

#image_produit {
  width: 150px;
  min-height: 100px;
}

form #image_produit {
  box-shadow: 2px 2px 5px #a9a9a9;
}

#listeAbonnement .description {
  padding-left: 15px;
}


.DemarrageMensuelle {
  border-color: var(--colorEtape1);
}

.DemarrageTrimestrielle {
  border-color: #ffd700;
}

.DemarrageAnnuelle {
  border-color: #614e1a;
}

.DemarrageInvestisseur {
  border-color: #e74c3c;
}

.product:hover {
  transition: all 0.5s;
}

.product.bronze,
.abonnement-bronze {
  border-color: #614e1a !important;
}

#listeAbonnement .product.argent,
.abonnement-argent {
  border-color: #c0c0c0 !important;
}

#listeAbonnement .product.or,
.abonnement-or {
  border-color: #ffd700 !important;
}

#paiement #listeAbonnement>div {
  max-width: 250px;
  margin: auto;
  text-align: center;
  background-color: #fff;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}



#paiement #listeAbonnement .description {
  text-align: left;
}


#paiement #listeAbonnement a {
  display: none;
}

#paiement {
  background-color: #f2f2f2;

}

.abonnementLogged {
  border-color: #0f347c !important;
}



.debugAbonnement {
  background-color: var(--colorEtape3);
}




#mentionsLegales div,
#mentionsLegales h2,
#mentionsLegales h3 {
  margin: 15px auto;
}

#mentionsLegales div:not(#mentionsLegales div:last-child) {
  border-bottom: 1px solid #0b5345;
}

#mentionsLegales h2,
#mentionsLegales h3 {
  text-align: left;
  margin-left: 15px !important;
  margin-right: auto;
}

.fa-external-link-alt {
  font-size: 0.6em;
  color: #00f;
  position: relative;
  top: -5px;
}




#article img {
  margin: 10px;
  box-shadow: 1px 1px 2px var(--colorEtape3), -1px -1px 2px var(--colorEtape5);
}




/**************************************************************************************************************************
****************************************************************************************************************************
*********************************************  Capacité Emprunt *********************
****************************************************************************************************************************
****************************************************************************************************************************/


#btnCalculer {
  background-color: var(--colorEtape2);
  text-transform: uppercase;
}


/**************************************************************************************************************************
****************************************************************************************************************************
*********************************************  FOOTER *********************
****************************************************************************************************************************
****************************************************************************************************************************/

footer {
  background-color: var(--colorEtape3);
  color: #f2f2f2;
  display: flex;
  flex-direction: column;
  margin: auto;
  text-align: center;
  width: 100%;
}

footer a,
footer a:link,
footer a:visited,
footer a:hover {
  color: #f2f2f2;
}

footer img {
  width: 130px;
  min-width: 130px;
  margin: auto;
}

footer .disclaimer {
  font-size: 1em;
  text-align: left;
  margin-left: 20px;
}

footer ul {
  min-width: 150px;
}

footer .logotext {
  margin: auto;
  margin-bottom: 10px;
}

#aboutSiteModal .modal-body,
#aboutSiteModal .modal-header,
#aboutSiteModal .modal-footer {
  background-color: #00667C;
}


#modalConnexion .btn-close {
  color: #f2f2f2;
}

.modal-content {
  border-radius: 6px;
}

.modal-header {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.rabbit-modal-icon,
.modalInformation .rabbit-modal-icon {
  height: 64px !important;
  width: auto !important;
  max-height: 64px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
}

.modalInformation .modal-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 10px 15px !important;
  background-color: #2F6975 !important; /* Vert de référence MA MENSUALITÉ- Express */
  color: #f2f2f2 !important;
  border-top-left-radius: 7px !important;
  border-top-right-radius: 7px !important;
  border-bottom: none !important;
}

.modalInformation .modal-title,
.modalInformation .modal-header h4,
.modalInformation .modal-header .modal-title {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 20px !important; /* Taille de police d'entête de référence MA MENSUALITÉ- Express */
  font-weight: bold !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
}

.modalInformation .modal-header .btn-close {
  margin-left: auto !important;
  opacity: 0.9 !important;
  filter: invert(1) grayscale(100%) brightness(200%) !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}

.modalInformation .modal-header .btn-close:hover {
  opacity: 1 !important;
  transform: scale(1.1) !important;
}

.modalInformation .modal-dialog {
  position: fixed !important;
  margin: 0 !important;
  z-index: 100055 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28) !important;
}

.modalInformation .modal-content {
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.modalInformation .modal-body {
  padding: 14px 16px !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: #334155 !important;
  background-color: #ffffff !important;
}

.modalInformation .modal-body p {
  margin-bottom: 0 !important;
}

/* Zone d'informations complète dépliable (collapse) */
.modalInformation .collapse .card {
  border: none !important;
  background-color: #f8fafc !important;
  border-top: 1px dashed #cbd5e1 !important;
  border-radius: 0 !important;
}

.modalInformation .collapse .card-body {
  padding: 12px 16px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #475569 !important;
}

.modalInformation .collapse .card-body p {
  margin-bottom: 0 !important;
}

.rotate-icon {
  display: block;
  text-align: center;
  transition: transform 0.3s ease;
}

.open {
  transform: rotate(180deg);
}

.btnExpendInfo,
.modalInformation .btnExpendInfo {
  width: 100% !important;
  background-color: #ffffff !important;
  border: none !important;
  border-top: 1px solid #e2e8f0 !important;
  padding: 6px 0 !important;
  text-align: center !important;
  cursor: pointer !important;
  color: #2F6975 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.modalInformation .btnExpendInfo:hover {
  background-color: #f1f5f9 !important;
  color: #1e454d !important;
}

.modalInformation .btnExpendInfo .rotate-icon {
  display: inline-block !important;
  transition: transform 0.25s ease !important;
}

.modalInformation .btnExpendInfo[aria-expanded="true"] .rotate-icon {
  transform: rotate(180deg) !important;
}

#_genre {
  margin-top: 15px;
}

#collapseInscription {
  margin-top: -5px;
}

#modalConnexion .modal-header {
  border-bottom: 1px solid #00667C;
}

#modalConnexion .modal-footer {
  /* border-top: 1px solid #00667C; */
  border-top: none;
  height: 0;
}


#toastInfoBox,
#toastReferenceProjet,
#toastDeleteElement {
  position: fixed;
  top: 230px;
  right: 20px;
  width: 280px;
  font-size: 1em;
  z-index: 10000 !important;
}

.toast-header img {
  width: 25px;
  height: 25px;
}

#toastInfoBox .toast-header,
#toastReferenceProjet .toast-header,
#toastDeleteElement,
.toast-header {
  background-color: var(--colorEtape4);
  color: #fff;
}

#toastInfoBox.error .toast-header {
  background-color: #dc3545;
}



/**************************************************************************************************************************
****************************************************************************************************************************
*********************************************  END FOOTER *********************
****************************************************************************************************************************
****************************************************************************************************************************/





/**************************************************************************************************************************
****************************************************************************************************************************
*********************************************  CAPACITE EMPRUNT *********************
****************************************************************************************************************************
****************************************************************************************************************************/


#capaciteEmprunt section:not("#result") {
  text-align: right;
}

#capaciteEmprunt i {
  font-size: 1.3em;
  margin: auto 5px;
}

#capaciteEmprunt li {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-top: 3px;
  border-bottom: 1px dotted gray;
  padding-bottom: 3px;
}

#capaciteEmprunt input {
  margin-left: 5px;
  text-align: center;
  width: 120px;
}

#capaciteEmprunt .box {
  border-width: 1px;
  border-left-width: 5px;
  border-style: solid;
  margin: 10px auto;
  text-align: right;
}

#capaciteEmprunt .box ul {
  padding: 0 5px;
}

#capaciteEmprunt .box ul>div>div {
  margin-bottom: 5px;
  padding: 3px 5px;

}

#revenues>div,
#pretsImmo>div {
  margin-bottom: 10px;
  border-width: 1px;
  border-style: outset;
}

#revenues>div {
  border-color: var(--colorEtape4);
  box-shadow: 0px 0px var(--colorEtape4), 0em 0 0.2em var(--colorEtape4);
}

#pretsImmo>div {
  border-color: var(--colorEtape5);
  box-shadow: 0px 0px var(--colorEtape5), 0em 0 0.2em var(--colorEtape5);
  margin-bottom: 5px;
  padding: 3px 5px;
}

#capaciteEmprunt #typeAchat {
  max-height: inherit;
}

#capaciteEmprunt #sIndicateurs aside {
  margin: auto;
}

#capaciteEmprunt #sIndicateurs table {
  margin: auto;
}

#capaciteEmprunt #sIndicateurs table td:nth-child(1) {
  width: 120px;
  text-align: center;
}

#capaciteEmprunt #sIndicateurs table td:nth-child(2) {
  width: 75px;
  text-align: center;
}

#capaciteEmprunt #sIndicateurs table td:nth-child(3) {
  width: 110px;
  text-align: center;
}


.progressBarCursor .tooltip {
  transform: translateY(30%);
  /* Ajustez la valeur selon vos besoins */
}



.btn-echeancier {
  width: 200px;
  color: #f2f2f2;
  text-align: center;
  margin: auto;
  background-color: #626567;
  padding-bottom: 1px;
  cursor: pointer;
}

.btn-echeancier img {
  display: inline-block;
  width: 17px !important;
  height: auto;
  vertical-align: middle;
  margin-top: -2px;
}



/**************************************************************************************************************************
****************************************************************************************************************************
*********************************************  CHAMPS IMPORTANTS à placer à la fin pour ne pas ecraser *********************
****************************************************************************************************************************
****************************************************************************************************************************/

#messageInfoMaintenance {
  color: #f2f2f2;
  border: 1px solid black;
  width: 100%;
  padding: 5px;
  padding-top: 10px;
  text-align: center;
  background-color: #000;
  margin-top: 144px;
  margin-bottom: -141px;
}



span.obligatoire,
span.saisiePossible {
  position: absolute;
  left: 3px;
  z-index: 1;
  font-size: 1.1em;
}

span.obligatoire {
  bottom: 0px;
  color: #f00;
}

.likeInput span.obligatoire {
  bottom: 20px;
}


span.saisiePossible {
  bottom: -10px;
  color: #00F;
}

.likeInput span.saisiePossible {
  bottom: 10px;
}

#menuDeDev {
  position: fixed;
  z-index: 1003;
  top: 65px;
  left: 0px;
}

#devOptions {
  background-color: var(--colorEtape5);
  padding: 10px
}

#devOptions li {
  background-color: #bf0338;
  border-top: 2px dotted #f2f2f2;
  color: #f2f2f2;
  cursor: pointer;
  padding: 5px 10px;
}

#s_base_calcul_p1c4:not(:disabled):not(.calcule),
#s_base_calcul_p1c7:not(:disabled):not(.calcule),
#sloyer_totaux_p1c15latCopy:not(:disabled):not(.calcule),
#sloyer_totaux_p1c15lbtCopy:not(:disabled):not(.calcule),
#s_charges_gestion_p1c17Copy:not(:disabled):not(.calcule),
#s_charges_gestion_p1c18Copy:not(:disabled):not(.calcule),
#s_credit_p1c20Copy:not(:disabled):not(.calcule),
#s_credit_p1c21l1Copy:not(:disabled):not(.calcule),
#sloyer_totaux_p1c15lat:not(:disabled):not(.calcule),
#sloyer_totaux_p1c15lbt:not(:disabled):not(.calcule),
#s_charges_gestion_p1c17:not(:disabled):not(.calcule),
#s_charges_gestion_p1c18:not(:disabled):not(.calcule),
#s_credit_p1c20:not(:disabled):not(.calcule),
#s_credit_p1c21l1:not(:disabled):not(.calcule) {
  background-color: #fff6c3 !important;
}


/* Layout Travaux Etape 2 Grid */
.grid-travaux-layout {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: 780px !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

.grid-travaux-layout .travaux-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	margin: 0 !important;
	width: 100% !important;
}

.grid-travaux-layout .travaux-row.header-row {
	font-family: "Albert Sans", "Inter", sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	color: #666 !important;
	margin-bottom: 0 !important;
	text-transform: uppercase !important;
	background-color: transparent !important;
	background: none !important;
	border-bottom: 2px solid #555e6d !important;
	padding-bottom: 5px !important;
	align-items: center !important;
}

.grid-travaux-layout .travaux-row:not(.electrical-row) .travaux-title-label {
	width: 172px !important;
	min-width: 172px !important;
	max-width: 172px !important;
	border-right: 2px solid #555e6d !important;
	padding-right: 8px !important;
	margin-right: 8px !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.grid-travaux-layout .travaux-row:not(.header-row):not(.electrical-row) {
	padding: 3px 0 !important;
	margin: 0 !important;
	align-items: center !important;
}

.grid-travaux-layout .travaux-row:not(.header-row):not(.electrical-row) .travaux-title-label {
	display: flex !important;
	align-items: center !important;
	padding-top: 2px !important;
	padding-bottom: 2px !important;
}

.grid-travaux-layout .travaux-row:not(.header-row):not(.electrical-row) .travaux-col {
	display: flex !important;
	align-items: center !important;
	padding-top: 2px !important;
	padding-bottom: 2px !important;
}

.grid-travaux-layout .travaux-title-label {
	font-family: "Albert Sans", "Inter", sans-serif !important;
	font-size: 13px !important;
	font-weight: normal !important;
	color: #333 !important;
	text-align: left !important;
	position: relative !important;
}

.grid-travaux-layout .travaux-title-surface-totale {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding-top: 2px !important;
	padding-bottom: 2px !important;
}

.grid-travaux-layout .surface-totale-label {
	font-family: "Albert Sans", "Inter", sans-serif !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: #222222 !important;
	text-transform: none !important;
	white-space: nowrap !important;
}

.grid-travaux-layout .surface-totale-input-group {
	display: inline-flex !important;
	align-items: center !important;
	gap: 3px !important;
	white-space: nowrap !important;
}

.grid-travaux-layout .surface-totale-star {
	color: #0275d8 !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	line-height: 1 !important;
}

.grid-travaux-layout .input-surface-totale {
	width: 46px !important;
	height: 22px !important;
	padding: 0 4px !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background-color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #222222 !important;
	text-align: center !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.grid-travaux-layout .input-surface-totale:focus {
	border-color: #d39b27 !important;
	box-shadow: 0 0 0 2px rgba(211, 155, 39, 0.25) !important;
	outline: none !important;
}

.grid-travaux-layout .surface-totale-unit {
	font-family: "Albert Sans", "Inter", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #333333 !important;
	text-transform: none !important;
}

.grid-travaux-layout .travaux-row:not(.header-row) .travaux-title-label .tooltipss {
	position: absolute !important;
	right: 12px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	height: 22px !important;
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 5 !important;
}

.grid-travaux-layout .electrical-title-label {
	flex: 2 1 140px !important;
	margin-right: 15px !important;
	font-family: "Albert Sans", "Inter", sans-serif !important;
	font-size: 11px !important;
	font-weight: normal !important;
	color: #333 !important;
	text-align: left !important;
	line-height: 1.2 !important;
}

.grid-travaux-layout .travaux-col-header {
	flex: 1 !important;
	text-align: center !important;
	margin: 0 6px !important;
}

.grid-travaux-layout .travaux-col {
	flex: 1 !important;
	margin: 0 6px !important;
}

/* Colonne Cout : plus large pour afficher 6 chiffres */
.grid-travaux-layout .travaux-col:has(.input-cout) {
	flex: 1.5 !important;
}
.grid-travaux-layout .travaux-col-header:nth-child(4) {
	flex: 1.5 !important;
}

.grid-travaux-layout .travaux-col input {
	width: 100% !important;
	height: 22px !important;
	padding: 2px 5px !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
	font-size: 13px !important;
	text-align: center !important;
	background-color: #ffffff !important;
	transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.grid-travaux-layout .travaux-col input.input-disabled-gray {
	background-color: #f2f2f2 !important;
	color: #999 !important;
	border-color: #ddd !important;
	cursor: not-allowed !important;
}

.grid-travaux-layout .checkbox-col {
	width: 70px !important;
	min-width: 70px !important;
	max-width: 70px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.grid-travaux-layout .travaux-totalite-checkbox {
	width: 16px !important;
	height: 16px !important;
	cursor: pointer !important;
	margin: 0 !important;
	border: 1.5px solid #ccc !important;
	border-radius: 4px !important;
}

.grid-travaux-layout aside {
	margin-top: 5px !important;
	margin-bottom: 0 !important;
}

.grid-travaux-layout aside p {
	margin: 0 !important;
	padding: 2px 8px !important;
}

/* Reduced padding on the travaux accordion body to lessen vertical spaces only inside works section */
#collapseTwo .accordion-body {
	padding-top: 2px !important;
	padding-bottom: 2px !important;
}

/* Etape 2 accordion bodies should have gold background */
#sBaseCalculPrincipal .accordion-body {
	background-color: #fff4da !important;
}

/* Responsive Travaux Etape 2 Grid */
@media screen and (max-width: 767px) {
	.grid-travaux-layout .travaux-row {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		padding: 2px 0 !important;
		margin: 2px 0 !important;
		background-color: transparent !important;
		box-shadow: none !important;
		border: none !important;
	}
	
	.grid-travaux-layout .travaux-title-label {
		width: 90px !important;
		min-width: 90px !important;
		max-width: 90px !important;
		font-size: 10px !important;
		margin-right: 5px !important;
		font-weight: normal !important;
		color: #333 !important;
	}
	
	.grid-travaux-layout .travaux-col-header {
		font-size: 8px !important;
		margin: 0 2px !important;
	}
	
	.grid-travaux-layout .travaux-col {
		margin: 0 2px !important;
		flex: 1 !important;
	}
	
	.grid-travaux-layout .travaux-col input {
		height: 20px !important;
		padding: 2px 4px !important;
		font-size: 11px !important;
	}
	
	.grid-travaux-layout .checkbox-col {
		width: 40px !important;
		min-width: 40px !important;
		max-width: 40px !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		margin: 0 2px !important;
	}
	
	.grid-travaux-layout .travaux-totalite-checkbox {
		width: 14px !important;
		height: 14px !important;
	}

	.grid-travaux-layout .electrical-title-label {
		flex: 2 1 90px !important;
		font-size: 9px !important;
		margin-right: 5px !important;
		line-height: 1.1 !important;
	}
}

/* Etape 3 (Loyers) Redesign Styles */

#ongletLoyer.step3-container {
	padding: 0 !important;
	display: flex !important;
	flex-direction: row !important;
	overflow: hidden !important; /* Clip children to match rounded container corners */
	background-color: var(--colorEtape4) !important;
	min-height: 120px;
	border-radius: 12px !important;
}

#ongletLoyer {
  overflow: hidden !important;
}

#ongletLoyer .step3-sidebar {
	width: 100px !important;
	min-width: 100px !important;
	background-color: var(--colorEtape4) !important;
	color: #fff !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	border-right: none !important;
	overflow: visible !important; /* Fleche peut depasser */
}

#ongletLoyer .step3-sidebar .sidebar-header {
	background-color: var(--colorEtape4) !important;
	color: #fff !important;
	height: 68px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	border-top-left-radius: 0 !important;
	border-right: 2px solid #ffffff !important;
	padding: 0 !important;
	text-align: center !important;
	position: relative !important;
	overflow: visible !important;
}

#ongletLoyer .step3-sidebar .step-num {
	font-size: 1em !important;
	font-weight: bold !important;
	text-transform: uppercase !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 30px !important;
	margin: 0 !important;
}

#ongletLoyer .step3-sidebar .step-aide {
	font-size: 0.7em !important;
	font-weight: bold !important;
	text-transform: uppercase !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 38px !important;
	margin: 0 !important;
	line-height: 1.1 !important;
	color: #ffffff !important;
	text-align: center !important;
}

/* Fleche a cheval sidebar <-> TYPOLOGIE */
#ongletLoyer .step3-sidebar .sidebar-arrow-right {
	drop-shadow: 0 1px 3px rgba(0,0,0,0.35) !important;
}

#ongletLoyer .step3-sidebar .sidebar-body {
	background-color: #fff !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 6px 6px !important;
	border-bottom-left-radius: 0 !important;
	flex-grow: 1 !important;
	border-right: 1px solid var(--colorEtape4) !important;
}

#ongletLoyer .step3-sidebar .circle-btn {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	background-color: #fff4da !important;
	color: var(--colorEtape4) !important;
	border: none !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	cursor: pointer !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.15) !important;
	transition: transform 0.2s, background-color 0.2s !important;
	margin-bottom: 6px !important;
}

#ongletLoyer .step3-sidebar .circle-btn:hover {
	transform: scale(1.05) !important;
	background-color: #ffecc4 !important;
}

/* LLD / LCD Button Styles */
#ongletLoyer .btn-rental-type {
	background-color: #b58100 !important; /* gold for LLD */
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 4px 10px !important;
	font-size: 0.8em !important;
	font-weight: bold !important;
	cursor: pointer !important;
	text-transform: uppercase !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
	min-width: 65px !important;
	text-align: center !important;
	transition: background-color 0.2s, transform 0.1s !important;
}

#ongletLoyer .btn-rental-type:hover {
	background-color: #946900 !important;
	transform: scale(1.02) !important;
}

#ongletLoyer .btn-rental-type.lcd-active {
	background-color: #2e86c1 !important; /* Blue for LCD */
}

#ongletLoyer .btn-rental-type.lcd-active:hover {
	background-color: #1b6d9e !important;
}

#ongletLoyer .btn-rental-type.synthesis-active {
	background-color: #5d6d7e !important; /* Grey-blue for LLD&LCD synthesis */
	color: #fff !important;
}

#ongletLoyer .btn-rental-type.disabled {
	cursor: default !important;
	pointer-events: none !important;
	box-shadow: none !important;
	opacity: 0.9 !important;
	transform: none !important;
}

#ongletLoyer .step3-content {
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	background-color: #fff !important;
	border-top-right-radius: 11px !important;
	border-bottom-right-radius: 11px !important;
	overflow: hidden !important;
}

#ongletLoyer .loyer-header-banner {
	background-color: var(--colorEtape4) !important;
	color: #fff !important;
	padding: 0 12px !important;
	font-weight: normal !important;
	border-top-right-radius: 11px !important;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 30px !important;
}

#ongletLoyer .loyer-header-banner .banner-title {
	font-family: inherit !important;
	font-size: 1em !important;
	font-weight: normal !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
}

#ongletLoyer .loyer-header-banner .banner-postcode {
	font-size: 0.9em !important;
	display: inline-flex !important;
	align-items: center !important;
	background-color: #fff4da !important;
	color: #333 !important;
	padding: 1px 8px !important;
	border-radius: 4px !important;
	font-weight: normal !important;
	height: 20px !important;
	box-sizing: border-box !important;
}

#ongletLoyer .loyer-header-banner .sync-postcode-input {
	border: none !important;
	background: transparent !important;
	width: 55px !important;
	font-weight: bold !important;
	color: #b58100 !important;
	text-align: center !important;
	padding: 0 !important;
	margin-left: 2px !important;
	outline: none !important;
	height: 18px !important;
}

#ongletLoyer .loyer-header-banner .banner-right {
	font-size: 0.7em !important;
	color: #fff4da !important;
	text-align: right !important;
}

#ongletLoyer .suggested-rents-row {
	display: flex !important;
	border-bottom: 1px solid #e0e0e0 !important;
	background-color: #fafafa !important;
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
}

#ongletLoyer .suggested-col {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 3px 4px !important;
	border-right: 1px solid #e0e0e0 !important;
	justify-content: center !important;
}

#ongletLoyer .suggested-col:last-child {
	border-right: none !important;
}

#ongletLoyer .suggested-col label {
	font-size: 0.6em !important;
	font-weight: bold !important;
	color: #666 !important;
	text-transform: uppercase !important;
	margin-bottom: 0 !important;
	line-height: 1.1 !important;
}

#ongletLoyer .suggested-col select,
#ongletLoyer .suggested-col input {
	font-size: 0.85em !important;
	font-weight: bold !important;
	color: #333 !important;
	height: 22px !important;
	line-height: 22px !important;
	padding: 0 !important;
	text-align: center !important;
	background: transparent !important;
	border: none !important;
	outline: none !important;
}

#ongletLoyer .suggested-col select {
	cursor: pointer !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	text-align-last: center !important;
	background-image: url("data:image/svg+xml;utf8,<svg fill='%23666' height='14' viewBox='0 0 24 24' width='14' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 4px) center !important;
	padding-right: 14px !important;
}

#ongletLoyer .main-loyer-rows-container {
	padding: 2px 16px 0 16px !important;
	background-color: #fff !important;
}

#ongletLoyer .main-loyer-rows-container .formRow.row1 {
	margin-top: 2px !important;
	margin-bottom: 2px !important;
}

#ongletLoyer .readonly-field {
	background-color: #e9ecef !important;
	color: #495057 !important;
	cursor: not-allowed !important;
}

/* Subsections Apartments styling */
#ongletLoyer .loyers-apartments-container {
	padding: 8px 16px 4px 16px !important;
	max-height: 380px !important;
	overflow-y: auto !important;
	border-top: 1px solid #eee !important;
	background-color: #fbfbfb !important;
}

#ongletLoyer .apartment-block {
	border: 1px dashed #ccc !important;
	border-radius: 8px !important;
	padding: 10px !important;
	background-color: #fff !important;
}

#ongletLoyer .apartment-header {
	border-bottom: 1px solid #f0f0f0 !important;
	padding-bottom: 4px !important;
}

#ongletLoyer .apartment-title {
	font-weight: bold !important;
	color: var(--colorEtape4) !important;
	font-size: 0.9em !important;
}

#ongletLoyer .btn-delete-apt {
	cursor: pointer !important;
	padding: 2px 4px !important;
	transition: opacity 0.2s !important;
}

#ongletLoyer .btn-delete-apt:hover {
	opacity: 0.7 !important;
}

#ongletLoyer .btn-add-apartment {
	background-color: var(--colorEtape4) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	width: 36px !important;
	height: 16px !important;
	font-weight: bold !important;
	font-size: 0.9em !important;
	cursor: pointer !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.15) !important;
	transition: transform 0.2s, background-color 0.2s !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
}

#ongletLoyer .btn-add-apartment:hover {
	transform: scale(1.05) !important;
	background-color: #b58100 !important;
}

#ongletLoyer .add-apartment-label {
	font-size: 0.85em !important;
	color: #666 !important;
}

#ongletLoyer .loyer-footer-actions {
	padding: 2px 16px 4px 16px !important;
	border-top: 1px solid #eee !important;
	background-color: #fbfbfb !important;
	border-bottom-right-radius: 11px !important;
	margin-top: 0 !important;
}

/* Step 4: Aligned layout for Copro/Syndic and Taxe Fonciere fields in Etape 4 */
#ongletCharges .formRow.row1 {
  position: relative !important;
}

#ongletCharges .formRow.row1 > label {
  width: 50% !important; /* Restore width to 50% to align with Etape 2 */
}

#contentSbaseCalcul .input-unit-group,
#ongletLoyer .input-unit-group {
  position: relative !important;
  display: block !important;
  height: 22px !important;
}

/* Etape 4 standard toggled input field styling (width 100%) */
#ongletCharges .input-unit-group:not(.no-toggle) input,
#ongletCharges .input-unit-group input {
  position: relative !important;
  width: 100% !important;
  padding-right: 78px !important; /* reserve space inside the input for devise (€/mois, €/month) */
  padding-left: 12px !important;
  text-align: right !important;
  height: 22px !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* Non-toggled input field styling (width 100%) across all steps */
#contentSbaseCalcul .input-unit-group.no-toggle input,
#ongletLoyer .input-unit-group input {
  position: relative !important;
  width: 100% !important;
  padding-right: 78px !important; /* reserve space inside the input for devise (€/mois, €/month) */
  padding-left: 12px !important;
  text-align: right !important;
  height: 22px !important;
  display: block !important;
  box-sizing: border-box !important;
}

#ongletCredit .input-unit-group input {
  padding-right: 64px !important;
  padding-left: 12px !important;
  text-align: right !important;
}
#ongletCredit #mensualite .input-unit-group input {
  padding-right: 78px !important;
  padding-left: 12px !important;
  text-align: right !important;
}

/* Unit (devise) positioned absolutely inside the input box, touching the tooltip button */
#ongletCharges .input-unit-group:not(.no-toggle) .devise {
  position: absolute !important;
  right: 24px !important; /* 4px safety gap left of the tooltip button */
  top: 50% !important;
  transform: translateY(-50%) !important;
  bottom: unset !important;
  font-size: 0.85em !important;
  color: #666 !important;
  white-space: nowrap !important;
  pointer-events: none !important; /* click goes through to input */
  z-index: 5 !important;
}

#contentSbaseCalcul .input-unit-group.no-toggle .devise,
#ongletLoyer .input-unit-group .devise {
  position: absolute !important;
  right: 24px !important; /* 4px safety gap left of the tooltip */
  top: 50% !important;
  transform: translateY(-50%) !important;
  bottom: unset !important;
  font-size: 0.85em !important;
  color: #666 !important;
  white-space: nowrap !important;
  pointer-events: none !important; /* click goes through to input */
  z-index: 5 !important;
}

/* Toggle button positioned to the right of the input/tooltip (no gap) */
#ongletCharges .input-unit-group:not(.no-toggle) .btn-unit-toggle {
  position: absolute !important;
  right: -28px !important; /* protruding to the right of the input row */
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: none !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 5 !important;
}

/* Required Asterisks (red) positioned inside the left edge of the input box (top-left corner) */
#contentSbaseCalcul .input-unit-group span.obligatoire,
#ongletLoyer .input-unit-group span.obligatoire {
  position: absolute !important;
  left: 4px !important;
  top: 2px !important;
  transform: none !important;
  bottom: auto !important;
  color: #d0021b !important;
  z-index: 10 !important;
}

/* Optional Asterisks (blue) positioned inside the left edge of the inputs (bottom-left corner) */
#contentSbaseCalcul .input-unit-group span.saisiePossible,
#ongletCharges .charge-input-wrapper span.saisiePossible {
  position: absolute !important;
  left: 4px !important;
  right: unset !important;
  top: auto !important;
  transform: none !important;
  bottom: 2px !important;
  color: #0052cc !important;
  z-index: 10 !important;
}

/* Align Etape 2, 3, 4, 5 and 6 layout precisely for screens >= 768px */
@media screen and (min-width: 768px) {
  /* Set single-column row alignment container coordinates (Fushia Axis = 135px left margin) */
  #sBaseCalculPrincipal .formRow.row1,
  #ongletCharges .charges-rows-container .formRow.row1,
  #ongletCredit .etape-content .formRow.row1,
  #ongletCredit .accordion-body .formRow.row1,
  #sBaseCalcul6 .formRow.row1 {
    width: auto !important;
    margin-left: 135px !important;
    margin-right: 20px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
  }

  /* Specific overrides for Etape 2 to prevent wrapping of the long label and center vertically */
  #sBaseCalculPrincipal .formRow.row1 {
    margin-left: 95px !important;
    margin-top: 1px !important;
    margin-bottom: 1px !important;
  }

  #sBaseCalculPrincipal .formRow.row1 > label {
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    text-align: right !important;
    padding-right: 15px !important;
  }

  #sBaseCalculPrincipal .accordion-body {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Specific overrides for Etape 5 to prevent vertical space loss and center text vertically */
  #ongletCredit .etape-content .formRow.row1,
  #ongletCredit .accordion-body .formRow.row1 {
    margin-top: 1px !important;
    margin-bottom: 1px !important;
  }

  #ongletCredit .formRow.row1 > label {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    text-align: right !important;
    padding-right: 15px !important;
  }

  #ongletCredit .accordion-body {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Align labels with the text input of slider rows (by overriding center alignment) */
  #contentSbaseCalcul .formRow:has(.progressBarCursor) {
    align-items: flex-start !important;
  }
  #contentSbaseCalcul .formRow:has(.progressBarCursor) > label {
    height: 22px !important;
    align-self: flex-start !important;
  }

  #ongletLoyer .main-loyer-rows-container .formRow.row1 {
    width: auto !important;
    margin-left: 35px !important;
    margin-right: 20px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
  }

  /* Set label alignment and width (Fushia line -> Red line, 200px width) */
  #contentSbaseCalcul .formRow > label,
  #contentSbaseCalcul .formRow .clickable-main-label {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    text-align: left !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Set input container / widget width (Red line -> 170px width) */
  #contentSbaseCalcul .formRow > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  #contentSbaseCalcul .formRow > select,
  #contentSbaseCalcul .formRow > .likeInput,
  #contentSbaseCalcul .formRow > .input-unit-group {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    flex-shrink: 0 !important;
  }

  /* Absolute position accordion buttons so they do not affect flex layout */
  #contentSbaseCalcul .formRow .accordion {
    position: absolute !important;
    left: -35px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 25px !important;
    margin: 0 !important;
    z-index: 10 !important;
  }

  /* Etape 3 absolute container adjustments */
  #ongletLoyer.step3-container {
    position: relative !important;
  }
  #ongletLoyer .step3-sidebar {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100px !important;
    z-index: 10 !important;
  }
  #ongletLoyer .step3-content {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 100px !important; /* reserve space for absolute sidebar */
    box-sizing: border-box !important;
  }

  #ongletLoyer .main-loyer-rows-container {
    padding: 2px 0 0 0 !important;
  }
}

/* Responsive Overrides for Mobile screen widths */
@media screen and (max-width: 767px) {
	#ongletLoyer.step3-container {
		flex-direction: column !important;
	}

	#ongletLoyer .step3-sidebar {
		width: 100% !important;
		min-width: 100% !important;
		flex-direction: row !important;
		border-top-left-radius: 0 !important;
		border-top-right-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
		align-items: stretch !important;
		border-right: none !important;
		border-bottom: 1px solid var(--colorEtape4) !important;
	}

	#ongletLoyer .step3-sidebar .sidebar-header {
		width: auto !important;
		height: auto !important;
		padding: 8px 12px !important;
		justify-content: center !important;
		border-top-left-radius: 0 !important;
	}

	#ongletLoyer .step3-sidebar .step-num {
		height: auto !important;
	}

	#ongletLoyer .step3-sidebar .step-aide {
		height: auto !important;
	}

	#ongletLoyer .step3-sidebar .sidebar-body {
		width: auto !important;
		height: auto !important;
		flex-direction: row !important;
		align-items: center !important;
		padding: 4px 12px !important;
		border-bottom-left-radius: 0 !important;
		justify-content: flex-end !important;
		flex-grow: 1 !important;
		border-right: none !important;
	}

	#ongletLoyer .step3-sidebar .circle-btn {
		width: 30px !important;
		height: 30px !important;
		margin-bottom: 0 !important;
	}

	#ongletLoyer .btn-rental-type {
		margin-top: 0 !important;
		margin-left: 10px !important;
	}

	#ongletLoyer .loyer-header-banner {
		border-top-right-radius: 0 !important;
	}
}

/* Step 4 Redesign Styles */
#ongletCharges .charges-rows-container {
  padding: 4px 10px !important;
}
@media screen and (min-width: 768px) {
  #ongletCharges .charges-rows-container {
    padding: 4px 0 !important;
  }
}

#ongletCharges .charges-rows-container .formRow.row1 {
  margin-top: 3px !important;
  margin-bottom: 3px !important;
}

#ongletCharges .input-with-toggles {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  width: 50% !important;
  justify-content: flex-end !important;
  position: relative !important;
}

#ongletCharges .input-with-toggles input:not([type="checkbox"]) {
  width: 100px !important;
  text-align: center !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  height: 28px !important;
  padding: 4px !important;
}

#ongletCharges .input-with-toggles .devise-text {
  font-size: 0.9em !important;
  color: #333 !important;
  white-space: nowrap !important;
  position: static !important;
  margin: 0 !important;
}

#ongletCharges .btn-unit-toggle {
  background-color: var(--colorEtape4) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  height: 22px !important;
  width: 28px !important;
  font-size: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: opacity 0.2s !important;
  margin: 0 !important;
  position: static !important;
}

#ongletCharges .input-with-toggles .tooltipss {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.yellow-chevron-btn {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background-color: var(--colorEtape4) !important;
  color: #fff !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  font-size: 11px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15) !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
.yellow-chevron-btn i {
  transition: transform 0.2s ease !important;
  display: inline-block !important;
}
.yellow-chevron-btn:not(.collapsed) i {
  transform: rotate(180deg) !important;
}

.charges-facultatives-main-row {
  border-top: 1px dashed #ccc !important;
  margin-top: 4px !important;
  padding-top: 4px !important;
}

#ongletCharges .clickable-main-label {
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  font-weight: inherit !important;
  margin: 0 !important;
  display: block !important;
}

#accordionChargesFacultatives {
  margin-left: -40px !important;
  z-index: 10 !important;
}

#accordionChargesFacultatives .accordion-button {
  top: 0 !important;
}

#accordionChargesFacultatives .accordion-button::after {
  background-color: #ffe8ac !important;
  width: 25px !important;
  height: 25px !important;
  background-position: center !important;
  border-radius: 50% !important;
  fill: #f2f2f2 !important;
  position: absolute !important;
  top: -12.5px !important;
  cursor: pointer !important;
}

.charges-subsection-divider {
  display: flex !important;
  align-items: center !important;
  text-align: center !important;
  margin: 15px 0 10px 0 !important;
  color: var(--colorEtape5) !important;
  font-weight: bold !important;
  font-size: 0.85em !important;
  letter-spacing: 0.5px !important;
}
.charges-subsection-divider::before,
.charges-subsection-divider::after {
  content: '' !important;
  flex: 1 !important;
  border-bottom: 1.5px solid var(--colorEtape5) !important;
}
.charges-subsection-divider::before {
  margin-right: 10px !important;
}
.charges-subsection-divider::after {
  margin-left: 10px !important;
}

.charges-subsection-body {
  padding: 0 10px !important;
}

.charge-item-row {
  margin-bottom: 8px !important;
}
.charge-item-row .row-main-part {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  position: relative !important;
  height: 28px !important;
}
.charge-item-row .yellow-chevron-btn {
  width: 18px !important;
  height: 18px !important;
  font-size: 9px !important;
  margin-right: 10px !important;
}
.charge-item-row .row-main-part.no-left-chevron {
  padding-left: 28px !important;
}
.charge-item-row .charge-item-label {
  flex-grow: 1 !important;
  text-align: right !important;
  padding-right: 15px !important;
  font-size: 0.9em !important;
  color: #333 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.charge-item-row .charge-item-label.clickable-label {
  cursor: pointer !important;
}
.charge-item-row .charge-item-label.clickable-label:hover {
  color: var(--colorEtape5) !important;
  font-weight: bold !important;
}
.charge-item-row .custom-switch {
  margin-right: 15px !important;
  flex-shrink: 0 !important;
}
.charge-item-row .charge-input-wrapper {
  position: relative !important;
  width: 140px !important;
  margin-right: 28px !important;
  flex-shrink: 0 !important;
}
.charge-item-row .charge-input-wrapper input {
  width: 100% !important;
  height: 22px !important;
  padding-right: 55px !important;
  text-align: right !important;
}
#ongletCharges input:disabled {
  background-color: #eaeded !important;
}
#ongletCharges input:not(:disabled) {
  background-color: #ffffff !important;
}
.charge-item-row .devise-inline {
  position: absolute !important;
  right: 5px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 0.75em !important;
  color: #777 !important;
  pointer-events: none !important;
}
.charge-item-row .row-main-part .tooltipss {
  position: absolute !important;
  right: 0 !important;
  top: 3px !important;
}

/* Collapsible Settings details layout */
.charge-item-row .row-details-part {
  margin-top: 4px !important;
  margin-left: 28px !important;
  margin-right: 28px !important;
}
.charge-item-row .row-details-part .d-flex {
  padding: 8px !important;
  gap: 15px !important;
  align-items: center !important;
}
.charge-item-row .row-details-part .detail-field {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
.charge-item-row .row-details-part .detail-field label {
  margin: 0 !important;
  font-size: 0.8em !important;
  color: #555 !important;
}
.charge-item-row .row-details-part .detail-field input {
  width: 75px !important;
  height: 22px !important;
  text-align: center !important;
  padding: 2px !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
}

/* Custom Switch Toggle Slider */
.custom-switch {
  position: relative !important;
  display: inline-block !important;
  width: 42px !important;
  height: 20px !important;
  vertical-align: middle !important;
  margin: 0 !important;
}
.custom-switch input {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.custom-switch-slider {
  position: absolute !important;
  cursor: pointer !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: #ccc !important;
  transition: .3s !important;
  border-radius: 20px !important;
}
.custom-switch-slider:before {
  position: absolute !important;
  content: "" !important;
  height: 14px !important;
  width: 14px !important;
  left: 3px !important;
  bottom: 3px !important;
  background-color: white !important;
  transition: .3s !important;
  border-radius: 50% !important;
}
.custom-switch input:checked + .custom-switch-slider {
  background-color: #0c3c5c !important;
}
.custom-switch input:checked + .custom-switch-slider:before {
  transform: translateX(22px) !important;
}

#simulateur #contentSbaseCalcul .likeInput .tooltipss {
  top: 0 !important;
  bottom: auto !important;
  transform: none !important;
}

  /* Juxtapose Etape 6 (Fiscalite) selects and tooltip buttons bord à bord */
  #sBaseCalcul6 .formRow select {
    border-radius: 4px 0 0 4px !important;
    border-right: none !important;
    padding-right: 6px !important;
  }

  #sBaseCalcul6 .tooltipss {
    position: static !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #sBaseCalcul6 .tootltipButton {
    width: 16px !important;
    height: 22px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    border-radius: 0 4px 4px 0 !important;
    border: 1px solid #ccc !important;
    border-left: none !important;
    margin: 0 !important;
  }

  /* Glue Etape 0 (Type de bien) input and info button */
  #sBaseCalculBien .row-type-bien .tooltipss {
    position: static !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #sBaseCalculBien .row-type-bien .tootltipButton {
    border-radius: 0 4px 4px 0 !important;
    border-left: none !important;
    margin: 0 !important;
  }

  /* Glue Etape 0bis (Fiche contact) to Etape 0 (Type de bien) */
  #sBaseCalculBien {
    margin-bottom: 0 !important;
  }

  #ficheContact {
    margin-top: -12px !important;
  }

  #ficheContact .accordion {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #ficheContact .accordion-item {
    margin-top: 0 !important;
  }

  /* Set Etape 7 results fields (fakeInput) size to match other fields (170px) */
  #sIndicateurs .fakeInput {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
  }

  /* Target mobile/telephone viewports only */
  @media screen and (max-width: 767px) {
    /* Illustration photo on telephone version: visible when accordion is unfolded */
    #sBaseCalculSimulation {
      display: flex !important;
      width: calc((85% - 34px) * 0.8) !important;
      max-width: 220px !important;
      height: auto !important;
      aspect-ratio: 3 / 2 !important;
      margin: 4px auto 8px auto !important;
      position: relative !important;
      border-radius: 12px !important;
      overflow: hidden !important;
      box-shadow: none !important;
      border: 1px solid #cbd5e1 !important;
      background-color: #f8fafc !important;
    }

    /* Equalize vertical gaps: spacing between top-header/Etape 0, Etape 0bis/1, Etape 1/2 must match gap between Etape 2/3 (which is 10px by default) */
    #sBaseCalculBien {
      margin-top: 10px !important;
      margin-bottom: 0 !important;
    }

    #ficheContact {
      margin-top: 0 !important;
      margin-bottom: 10px !important;
    }
    
    #typeAchat {
      margin-top: 10px !important;
      margin-bottom: 10px !important;
    }

    #sBaseCalculPrincipal {
      margin-top: 10px !important;
      margin-bottom: 10px !important;
    }

        /* ================================================================
       ETAPE 2 - TELEPHONE (max-width: 767px) - REFONTE COMPLETE
       Objectif : label + bouton accordion VISIBLES a gauche,
                  champs alignes a droite (comme sur PC mais adapte)
    ================================================================ */

    /* Padding interne du bloc pour degager la bordure gauche coloree */
    #sBaseCalculPrincipal > div {
      padding-left: 14px !important;
      padding-right: 12px !important;
      box-sizing: border-box !important;
    }

    /* Chaque ligne de saisie principale : flex label-gauche / champ-droite */
    #sBaseCalculPrincipal .formRow.row1 {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      justify-content: space-between !important;
      margin: 0 !important;
      padding: 5px 0 !important;
      width: 100% !important;
      box-sizing: border-box !important;
      gap: 6px !important;
    }

    /* Label sans bouton (Prix d'Achat, Apport, Financement) */
    #sBaseCalculPrincipal .formRow.row1 > label:not(.label-with-collapse) {
      flex: 1 1 auto !important;
      min-width: 0 !important;
      font-size: 13px !important;
      white-space: normal !important;
      line-height: 1.3 !important;
      margin: 0 !important;
      padding: 0 !important;
      text-align: left !important;
    }

    /* Label AVEC bouton accordion (Frais de Notaire, Travaux) :
       bouton rond visible + texte sur 2 lignes si besoin */
    #sBaseCalculPrincipal .formRow.row1 > label.label-with-collapse {
      display: inline-flex !important;
      flex-direction: row !important;
      align-items: center !important;
      flex: 1 1 auto !important;
      min-width: 0 !important;
      max-width: none !important;
      width: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      text-align: left !important;
      white-space: normal !important;
      justify-content: flex-start !important;
    }

    /* Bouton accordion (cercle jaune) : taille fixe, ne se reduit jamais */
    #sBaseCalculPrincipal .accordion-button-wrapper {
      width: 22px !important;
      height: 22px !important;
      min-width: 22px !important;
      max-width: 22px !important;
      flex-shrink: 0 !important;
      margin-right: 6px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    /* Texte apres le bouton accordion */
    #sBaseCalculPrincipal .label-text-frais {
      font-size: 12px !important;
      line-height: 1.3 !important;
      white-space: normal !important;
      word-break: normal !important;
      flex: 1 !important;
      min-width: 0 !important;
    }

    /* === CHAMPS ETAPE 2 - FORMAT IDENTIQUE A ETAPE 3 (Loyer HC) ===
       input-unit-group et likeInput : bloc de hauteur fixe 22px, position relative
       input : width 100%, height 22px, padding-right pour la devise et tooltip
       devise et * : position absolute a l'interieur du groupe
       tooltipss et tootltipButton : parfaitement encastres a droite (meme hauteur 22px) */

    /* Groupe champ : largeur fixe a droite (160px), hauteur 22px, position relative */
    #sBaseCalculPrincipal .formRow.row1 > .input-unit-group,
    #sBaseCalculPrincipal .formRow.row1 > .likeInput:not([data-name="p1c7Cursor"]) {
      width: 160px !important;
      min-width: 160px !important;
      max-width: 160px !important;
      flex-shrink: 0 !important;
      position: relative !important;
      display: block !important;
      height: 22px !important;
      min-height: 22px !important;
      box-sizing: border-box !important;
    }

    /* Input : prend 100% de la largeur du groupe, espace pour devise et bouton i */
    #sBaseCalculPrincipal .formRow.row1 .input-unit-group input,
    #sBaseCalculPrincipal .formRow.row1 .likeInput input:not([type="range"]) {
      position: relative !important;
      width: 100% !important;
      min-width: unset !important;
      max-width: unset !important;
      padding-right: 60px !important;
      padding-left: 12px !important;
      text-align: right !important;
      height: 22px !important;
      font-size: 12px !important;
      line-height: 20px !important;
      margin: 0 !important;
      display: block !important;
      box-sizing: border-box !important;
      border-top-right-radius: 0 !important;
      border-bottom-right-radius: 0 !important;
      border-right: none !important;
    }

    /* Devise (euro) : position absolute a l'interieur, parfaitement centree */
    #sBaseCalculPrincipal .formRow.row1 .devise {
      position: absolute !important;
      right: 24px !important;
      top: 50% !important;
      transform: translateY(-50%) !important;
      bottom: unset !important;
      left: unset !important;
      font-size: 0.85em !important;
      color: #666 !important;
      pointer-events: none !important;
      z-index: 5 !important;
    }

    /* Asterisque (*) obligatoire : position absolute dans le groupe */
    #sBaseCalculPrincipal .formRow.row1 .input-unit-group span.obligatoire,
    #sBaseCalculPrincipal .formRow.row1 .input-unit-group span.saisiePossible,
    #sBaseCalculPrincipal .formRow.row1 .likeInput span.obligatoire,
    #sBaseCalculPrincipal .formRow.row1 .likeInput span.saisiePossible {
      position: absolute !important;
      left: 4px !important;
      top: 2px !important;
      bottom: unset !important;
      transform: none !important;
      z-index: 10 !important;
    }

    /* Bouton infobule (i) : parfaitement encastre a droite, top 0, height 22px */
    #sBaseCalculPrincipal .formRow.row1 .tooltipss,
    #simulateur .formRow.row1 .tooltipss {
      position: absolute !important;
      right: 0 !important;
      top: 0 !important;
      bottom: 0 !important;
      height: 22px !important;
      max-height: 22px !important;
      margin: 0 !important;
      padding: 0 !important;
      display: flex !important;
      align-items: center !important;
      z-index: 6 !important;
    }

    #sBaseCalculPrincipal .formRow.row1 .tootltipButton,
    #simulateur .formRow.row1 .tootltipButton {
      height: 22px !important;
      min-height: 22px !important;
      max-height: 22px !important;
      line-height: 20px !important;
      margin: 0 !important;
      border-top-left-radius: 0 !important;
      border-bottom-left-radius: 0 !important;
      border-top-right-radius: 4px !important;
      border-bottom-right-radius: 4px !important;
      border-left: none !important;
    }

    /* === Zones oranges Frais et Travaux ===
       Supprimer les marges negatives qui poussaient sous la bordure */
    #fraisNotaireGarantieDossier,
    #divTravaux {
      margin-left: 0 !important;
      margin-right: 0 !important;
      width: 100% !important;
      border-radius: 4px !important;
      box-sizing: border-box !important;
    }

    /* Corps accordion Frais de Notaire */
    #fraisNotaireGarantieDossier .accordion-body {
      padding-left: 14px !important;
      padding-right: 8px !important;
      padding-top: 2px !important;
      padding-bottom: 2px !important;
    }

    /* Corps accordion Travaux : s'etend sur TOUTE la largeur du bloc Etape 2 (#fef4dc) */
    #sBaseCalculPrincipal #collapseTwo .accordion-body,
    #divTravaux .accordion-body {
      margin-left: -14px !important;
      margin-right: -12px !important;
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      width: calc(100% + 26px) !important;
      max-width: calc(100% + 26px) !important;
      padding: 6px 8px !important;
      box-sizing: border-box !important;
      background-color: #fef4dc !important;
      border-radius: 0 !important;
    }

    /* Sous-lignes dans les zones oranges */
    #fraisNotaireGarantieDossier .rowTravaux {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: space-between !important;
      padding: 4px 0 !important;
      margin: 0 !important;
      border-bottom: 1px solid rgba(0,0,0,0.06) !important;
      gap: 6px !important;
    }

    #fraisNotaireGarantieDossier .rowTravaux label {
      margin: 0 !important;
      padding: 0 !important;
      font-size: 12px !important;
      color: #444 !important;
      font-weight: normal !important;
      flex: 1 !important;
      text-align: left !important;
      white-space: normal !important;
    }

    #fraisNotaireGarantieDossier .rowTravaux .input-unit-group {
      width: 148px !important;
      min-width: 148px !important;
      max-width: 148px !important;
      flex-shrink: 0 !important;
    }

    /* === Apport envisage (avec slider) : EXACTEMENT 160px comme les autres champs === */
    #sBaseCalculPrincipal .formRow .likeInput[data-name="p1c7Cursor"],
    #sBaseCalculPrincipal .formRow.row1 .likeInput[data-name="p1c7Cursor"] {
      width: 160px !important;
      min-width: 160px !important;
      max-width: 160px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      flex-shrink: 0 !important;
      display: block !important;
      height: auto !important;
      min-height: 22px !important;
      position: relative !important;
      box-sizing: border-box !important;
    }

    #sBaseCalculPrincipal .formRow .likeInput[data-name="p1c7Cursor"] input {
      position: relative !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: 22px !important;
      line-height: 20px !important;
      padding-right: 35px !important;
      padding-left: 14px !important;
      margin: 0 !important;
      text-align: right !important;
      font-size: 12px !important;
      display: block !important;
      box-sizing: border-box !important;
      border-top-right-radius: 0 !important;
      border-bottom-right-radius: 0 !important;
      border-right: none !important;
    }

    #sBaseCalculPrincipal .formRow .likeInput[data-name="p1c7Cursor"] .devise {
      position: absolute !important;
      right: 24px !important;
      top: 11px !important;
      transform: translateY(-50%) !important;
      font-size: 0.85em !important;
      color: #666 !important;
      pointer-events: none !important;
      z-index: 5 !important;
      margin: 0 !important;
    }

    #sBaseCalculPrincipal .formRow .likeInput[data-name="p1c7Cursor"] .tooltipss {
      position: absolute !important;
      right: 0 !important;
      top: 0 !important;
      height: 22px !important;
      display: flex !important;
      align-items: center !important;
      z-index: 6 !important;
    }

    #sBaseCalculPrincipal .formRow .likeInput[data-name="p1c7Cursor"] .progressBarCursor {
      position: relative !important;
      width: 100% !important;
      min-width: 100% !important;
      margin-top: 2px !important;
      margin-bottom: 2px !important;
      display: block !important;
      z-index: 4 !important;
    }

    .grid-travaux-layout .travaux-title-label {
      font-size: 12px !important;
      width: 110px !important;
      min-width: 110px !important;
      max-width: 110px !important;
    }

    .grid-travaux-layout .electrical-title-label {
      font-size: 12px !important;
    }

    .grid-travaux-layout .travaux-row {
      padding: 4px 8px !important;
    }

    #ongletLoyer {
      margin-top: 10px !important;
      margin-bottom: 10px !important;
    }

    #sBaseCalculBien #collapseTypeBien .p-3 {
      padding-top: 6px !important;
      padding-bottom: 6px !important;
    }

    /* Etape 3 (Loyers): codePostal field must remain in top banner, sidebar buttons left-aligned */
    #ongletLoyer.step3-container {
      flex-direction: row !important; /* Keep side-by-side split as in tablet/PC */
      display: flex !important;
    }

    #ongletLoyer .step3-sidebar {
      width: 90px !important;
      min-width: 90px !important;
      max-width: 90px !important;
      position: relative !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      border-right: 2px solid #ffffff !important;
      border-bottom: none !important;
    }

    #ongletLoyer .step3-sidebar .sidebar-header {
      width: 100% !important;
      height: 68px !important;
      padding: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      align-items: center !important;
    }

    #ongletLoyer .step3-sidebar .sidebar-body {
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 6px 6px !important;
      width: 100% !important;
      height: auto !important;
      border-right: none !important;
    }

    #ongletLoyer .step3-sidebar .circle-btn {
      width: 34px !important;
      height: 34px !important;
      margin-bottom: 6px !important;
    }

    #ongletLoyer .btn-rental-type {
      margin-top: 6px !important;
      margin-left: 0 !important;
    }

    #ongletLoyer .step3-content {
      flex-grow: 1 !important;
      display: flex !important;
      flex-direction: column !important;
    }
  }
}

/* TMI Toggle Button Styles */
/* Unified TMI Toggle Button Styles */
.btn-tmi-toggle {
    display: inline-block;
    width: 100%;
    padding: 6px 10px;
    font-size: 0.95em;
    color: #333;
    background: #fff url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23666" d="M2 0L0 2h4z"/></svg>') no-repeat right 10px center;
    background-size: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
    text-align: left;
    position: relative;
    z-index: 10003;
}

/* Unified TMI Toggle Button Styles */
.btn-tmi-toggle {
    display: inline-block;
    width: 100%;
    padding: 6px 10px;
    font-size: 0.95em;
    color: #333;
    background: #fff url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23666" d="M2 0L0 2h4z"/></svg>') no-repeat right 10px center;
    background-size: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
    text-align: left;
    position: relative;
    z-index: 10003;
}



  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  font-size: 0.8em !important;
  font-weight: bold !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
  min-width: 50px !important;
  text-align: center !important;
  transition: background-color 0.2s, transform 0.1s !important;
  margin-right: 8px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  line-height: normal !important;
}



/* ================================================================
   TMI IR + RÉGIME FISCAL – dropdowns personnalisés
   position:fixed calculé par JS via getBoundingClientRect()
   ================================================================ */

/* Wrapper : contrôle de la largeur uniquement */
.tmi-wrapper {
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

/* Largeur du wrapper = identique au champ Mensualité (170px fixe).
   La valeur 170px correspond à la règle #contentSbaseCalcul .formRow > input/select { width: 170px }. */
#sBaseCalcul6 .formRow .tmi-wrapper {
  width: 170px !important;
  max-width: 170px !important;
  min-width: 170px !important;
  flex: 0 0 170px !important;
}

/* Dans Etape 6, le bouton doit ressembler au select natif :
   pas de bordure droite + coins gauche arrondis seulement,
   pour se "coller" visuellement au bouton info qui suit */
#sBaseCalcul6 .formRow .tmi-btn {
  border-radius: 4px 0 0 4px !important;
  border-right: none !important;
}

/* Bouton visible : occupe toute la largeur du wrapper */
.tmi-btn {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 100% !important;
  cursor: pointer !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 6px center !important;
  background-size: 12px 9px !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-family: inherit !important;
  font-weight: normal !important;
  color: #212529 !important;
}

/* Dropdown : positioné par JS (position:fixed + getBoundingClientRect) */
.tmi-table-card {
  /* NE PAS mettre position ici : JS set position:fixed dynamiquement */
  background-color: #fff !important;
  border: 1px solid #ccc !important;
  border-radius: 6px !important;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.18) !important;
  z-index: 10002 !important;
  overflow: hidden !important;
  font-family: inherit !important;
  margin: 0 !important;
}

/* En-tête bleu nuit du dropdown */
.tmi-table-header {
  background-color: #0a3358 !important;
  color: #fff !important;
  font-weight: bold !important;
  text-align: center !important;
  padding: 6px 10px !important;
  font-size: 0.85em !important;
}

/* Table du dropdown TMI */
.tmi-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  font-size: 0.85em !important;
}

.tmi-table th {
  background-color: var(--colorEtape7) !important;
  color: #fff !important;
  border-bottom: 1px solid #0a5d93 !important;
  padding: 4px 8px !important;
  font-weight: bold !important;
  text-align: left !important;
}

.tmi-table td {
  padding: 5px 8px !important;
  border-bottom: 1px solid #eee !important;
  cursor: pointer !important;
  transition: background-color 0.15s !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.tmi-table tr:last-child td { border-bottom: none !important; }
.tmi-table tr:hover td     { background-color: #f0f7fc !important; }
.tmi-table tr.active td    { background-color: #d6eaf8 !important; font-weight: bold !important; color: var(--colorEtape7) !important; }
.tmi-table .tmi-rate       { font-weight: bold !important; }

/* Formrow doit laisser dépasser le wrapper */
#sBaseCalcul6 .formRow.sBaseSelect,
#sBaseCalcul6 .formRow.row1 {
  overflow: visible !important;
}

/* Styles for account page button rows with icons */
.account-btn-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  margin: 12px auto !important;
  max-width: 280px !important;
  text-decoration: none !important;
  width: 100% !important;
}

.account-btn-icon {
  height: 42px !important;
  width: 42px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

.account-btn-row .button1 {
  margin: 0 !important;
  flex-grow: 1 !important;
}

/* Administration Back Button Styles */
.admin-title-container {
  position: relative !important;
  width: 100% !important;
  margin-top: 15px !important;
  margin-bottom: 25px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.admin-title-container h1 {
  margin: 0 !important;
  text-align: center !important;
  font-size: 28px !important;
  font-weight: 700 !important;
}
.admin-title-container .btn-back-admin {
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background-color: #b50000 !important;
  color: #fff !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  transition: background-color 0.2s, transform 0.2s !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
  z-index: 999999 !important;
}
.admin-title-container .btn-back-admin:hover {
  background-color: #8f0000 !important;
  color: #fff !important;
}

@media (min-width: 992px) {
  .admin-title-container .btn-back-admin {
    left: calc(-1 * (100vw - 100%) / 2 + 20px) !important;
  }
  .admin-title-container.no-title {
    position: absolute !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .admin-title-container.no-title .btn-back-admin {
    position: absolute !important;
    left: calc(-1 * (100vw - 100%) / 2 + 20px) !important;
    top: 30px !important;
    transform: none !important;
    z-index: 999999 !important;
    display: inline-block !important;
  }
  .article-detail-header .admin-title-container {
    margin: 0 !important;
  }
  .slide-header .admin-title-container {
    margin: 0 !important;
  }
}

@media (max-width: 991px) {
  .admin-title-container {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .admin-title-container .btn-back-admin {
    position: static !important;
    transform: none !important;
    margin-bottom: 10px !important;
  }
}

.admin-title-container.no-title {
  display: block !important;
  text-align: left !important;
  position: relative !important;
  margin-top: 15px !important;
  margin-bottom: 25px !important;
  min-height: 35px !important;
  width: 100% !important;
}
.admin-title-container.no-title .btn-back-admin {
  position: relative !important;
  left: 15px !important;
  top: auto !important;
  transform: none !important;
  display: inline-block !important;
}

.admin-title-container .btn-back-home {
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background-color: #308796 !important;
  color: #fff !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  transition: background-color 0.2s, transform 0.2s !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
  z-index: 10 !important;
}
.admin-title-container .btn-back-home:hover {
  background-color: #1f616d !important;
  color: #fff !important;
}

@media (max-width: 991px) {
  .admin-title-container .btn-back-home {
    position: static !important;
    transform: none !important;
    margin-bottom: 10px !important;
  }
}

/* Cadre rouge pour la colonne active du tableau POI */
#poiCountsMatrixTable {
  border-collapse: collapse !important;
}
#poiCountsMatrixTable th.poi-active-col,
#poiCountsMatrixTable td.poi-active-col {
  position: relative !important;
}
#poiCountsMatrixTable th.poi-active-col {
  border-top: 3px solid #dc3545 !important;
  border-left: 3px solid #dc3545 !important;
  border-right: 3px solid #dc3545 !important;
  background-color: #b91c1c !important;
  color: #ffffff !important;
}
#poiCountsMatrixTable tbody tr.active-row td.poi-active-col {
  border-left: 3px solid #dc3545 !important;
  border-right: 3px solid #dc3545 !important;
  background-color: rgba(220, 53, 69, 0.08) !important;
}
#poiCountsMatrixTable tbody tr.inactive-row td.poi-active-col {
  border-left: 3px solid #dc3545 !important;
  border-right: 3px solid #dc3545 !important;
  background-color: rgba(220, 53, 69, 0.03) !important;
}
#poiCountsMatrixTable tfoot td.poi-active-col {
  border-bottom: 3px solid #dc3545 !important;
  border-left: 3px solid #dc3545 !important;
  border-right: 3px solid #dc3545 !important;
  background-color: #b91c1c !important;
  color: #ffffff !important;
}
#poiCountsMatrixTable th:nth-child(n+3),
#poiCountsMatrixTable td:nth-child(n+3) {
  cursor: pointer !important;
}


/* Icone d'information et Popover pour les 10 catégories POI */
.poi-info-icon {
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}
.poi-info-icon:hover {
  transform: scale(1.2) !important;
  opacity: 1 !important;
}
#poiCategoryInfoPopover {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}


/* Etape 6 Fiscalité Header (Desktop default & Mobile phone specific) */
.br-mobile-etape6 {
  display: none;
}

#sBaseCalcul6 .titleEtape .etape6-subtitle {
  font-size: 0.72em;
  opacity: 0.9;
  margin: 0 4px;
}

#sBaseCalcul6 .titleEtape .etape6-na {
  margin-left: auto;
  font-size: 0.7em;
}

@media screen and (min-width: 769px) {
  html[lang="en"] #sBaseCalcul6 .titleEtape .etape6-subtitle {
    font-size: 0.65em !important;
    white-space: nowrap !important;
  }

  html[lang="en"] #sBaseCalcul6 .titleEtape .etape6-na {
    font-size: 0.65em !important;
    white-space: nowrap !important;
  }
}

@media screen and (max-width: 768px) {
  #sBaseCalcul6 .titleEtape {
    min-height: 28px !important;
    height: 28px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #sBaseCalcul6 .titleEtape p:nth-child(1),
  #sBaseCalcul6 .titleEtape .etape6-num {
    white-space: nowrap !important;
    min-width: 76px !important;
    width: auto !important;
    padding: 0 8px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-right: 2px solid #ffffff !important;
    height: 100% !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: normal !important;
  }

  #sBaseCalcul6 .titleEtape p:nth-child(2),
  #sBaseCalcul6 .titleEtape .etape6-title {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    padding-left: 6px !important;
    padding-right: 4px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    line-height: normal !important;
  }

  #sBaseCalcul6 .titleEtape .etape6-subtitle {
    font-size: 8px !important;
    line-height: 0.95 !important;
    opacity: 0.9 !important;
    margin: 0 4px !important;
    text-align: center !important;
    display: inline-block !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  #sBaseCalcul6 .titleEtape .etape6-na {
    font-size: 8px !important;
    line-height: 0.95 !important;
    margin-left: auto !important;
    margin-right: 6px !important;
    text-align: right !important;
    display: inline-block !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  .br-mobile-etape6 {
    display: block !important;
  }
}

/* Effets de survol (remplacent les onmouseover / onmouseout inline) */
.hover-zoom:hover {
  transform: scale(1.08);
}

.hover-brighten:hover {
  filter: brightness(1.06);
}
