#footer {
  z-index : 1;
}

.kelvin-simulator {
  display               : grid;
  grid-template-columns : 100%;
  height                : 760px;
}

.kelvin-simulator > * {
  grid-area : 1/1;
}

.pre-simulator {
  background            : var(--color-primary);
  display               : grid;
  grid-template-columns : minmax(750px, 50%) 1fr;
  z-index               : 0;
}

.pre-simulator__content-wrapper {
  max-width      : 750px;
  margin         : auto;
  display        : flex;
  flex-direction : column;
  align-items    : center;
  padding        : 30px;
}

.pre-simulator__content {
  display         : flex;
  justify-content : center;
  align-items     : center;
  z-index         : 1;
}

.pre-simulator__visuals {
  display               : grid;
  grid-template-columns : 100%;
  overflow              : hidden;
}

.pre-simulator__visuals > * {
  grid-area : 1/1;
}

.pre-simulator__background {
  object-fit     : cover;
  width          : 100%;
  height         : 100%;
  pointer-events : none;
}

.pre-simulator__visuals-preview {
  background  : linear-gradient(0deg, rgba(44, 50, 72, 0.50) 0%, rgba(44, 50, 72, 0.50) 100%);
  display     : flex;
  align-items : center;
  position    : relative;
}

.pre-simulator__preview {
  position       : absolute;
  right          : -175px;
  /*width: 100%;*/
  max-height     : 465px;
  aspect-ratio   : 1440/1024;
  border-radius  : 16px;
  pointer-events : none;
}

.pre-simulator__subtitle {
  background              : var(--gradient-pro);
  background-clip         : text;
  -webkit-background-clip : text;
  -webkit-text-fill-color : transparent;
  font-size               : 20px;
  font-style              : normal;
  font-weight             : 700;
  line-height             : normal;
  text-align              : center;
}

.pre-simulator__title {
  color       : #FFF;
  text-align  : center;
  font-size   : 53px;
  font-style  : normal;
  font-weight : 700;
  line-height : 1.1;
  margin      : 15px 0 30px;
}

.pre-simulator__description {
  color         : white;
  text-align    : center;
  font-size     : 15px;
  font-style    : normal;
  font-weight   : 500;
  line-height   : 1.6;
  margin-bottom : 30px;
}

.pre-simulator__search {
  max-width       : 700px;
  margin          : auto;
  width           : 100%;
  position        : relative;
  display         : flex;
  flex-direction  : column;
  justify-content : center;
  align-items     : center;
}

.pre-simulator__input {
  position    : relative;
  display     : flex;
  align-items : center;
  width       : 100%;
}

.pre-simulator__input > svg {
  position       : absolute;
  left           : 32px;
  pointer-events : none;
}

.pre-simulator__input input {
  background    : white;
  border        : 1px solid white;
  width         : 100%;
  height        : 72px;
  padding       : 10px 260px 10px 56px;
  border-radius : 100px;
  color         : var(--color-primary);
  font-size     : 15px;
  font-style    : normal;
  font-weight   : 500;
  line-height   : normal;
  outline       : none;
}

.pre-simulator__button {
  position        : absolute;
  right           : 12px;
  border-radius   : 60px;
  padding         : 16px 24px;
  height          : 52px;
  display         : flex;
  align-items     : center;
  justify-content : center;
  text-transform  : initial !important;
  font-weight     : 600 !important;
  font-size       : 16px !important;
}

.pre-simulator__button.btn-disabled {
  opacity        : 0.5;
  pointer-events : none;
  cursor         : not-allowed;
}

.pre-simulator__dropdown {
  position      : absolute;
  top           : 70px;
  background    : white;
  width         : calc(100% - 60px);
  margin        : auto;
  box-shadow    : 0 6px 12px rgba(0, 0, 0, 0.1);
  border-radius : 0 0 16px 16px;
}

.pre-simulator__dropdown > * {
  width : 100%;
}

.pre-simulator__dropdown > * .js-address-item {
  padding : 5px 15px;
  width   : 100%;
  display : block;
}

.js-address-item:hover {
  background : #efefef;
  cursor     : pointer;
}

.pre-simulator__dropdown > *:first-child {
  padding-top : 10px;
}

.pre-simulator__dropdown > *:last-child {
  padding-bottom : 10px;
}

@media (max-width : 1199px) {
  .pre-simulator {
    grid-template-columns : 650px 1fr;
  }

  .pre-simulator__title {
    font-size : 40px;
  }

  .pre-simulator__preview {
    right : -110px;
  }

  .pre-simulator__subtitle {
    font-size : 18px;
  }
}

@media (max-width : 1023px) {
  .pre-simulator {
    grid-template-columns : 100%;
  }

  .pre-simulator__content-wrapper {
    padding : 40px 30px;
  }

  .pre-simulator__visuals {
    height : 460px;
  }

  .pre-simulator__visuals-preview {
    padding         : 40px 20px;
    justify-content : center;
  }

  .pre-simulator__preview {
    position        : initial;
    height          : 340px;
    object-fit      : cover;
    object-position : left;
  }

  .pre-simulator__background {
    height : 460px;
  }

  .kelvin-simulator {
    height : initial;
  }
}

@media (max-width : 767px) {
  .pre-simulator__content-wrapper {
    padding : 40px 20px;
  }

}

@media (max-width : 599px) {
  .pre-simulator__content-wrapper {
    padding : 40px 15px 90px;
  }

  .pre-simulator__title {
    font-size : 36px;
  }

  .pre-simulator__input input {
    height  : 52px;
    padding : 10px 30px 10px 56px;
  }

  .pre-simulator__button {
    top   : 60px;
    width : 100%;
    left  : 0;
  }

  .pre-simulator__dropdown {
    top : 50px;
  }

  .pre-simulator__subtitle {
    max-width : 315px;
  }
}

@media (max-width : 349px) {
  .pre-simulator__content-wrapper {
    padding : 40px 10px 90px;
  }

  .pre-simulator__title {
    font-size : 30px;
  }

  .pre-simulator__subtitle {
    font-size : 16px;
  }

  .pre-simulator__description {
    font-size : 14px;
  }
}

/****************************************
	Part - habitat-review-section
*****************************************/

.review-section {
  background : #F3F7FA;
  padding    : 80px 0;
  overflow   : hidden;
}

.habitat-review-media {
  position : relative;
}

.media-svg {
  position : absolute;
  bottom   : -80px;
  right    : -75px;
}

.habitat-review-section_slide {
  display               : grid;
  gap                   : 130px;
  grid-template-columns : 1fr 1fr;
  align-items           : center;
}

.habitat-review-container {
  max-width       : 550px;
  display         : flex;
  align-items     : center;
  justify-content : center;
  flex-direction  : column;
}

h5.habitat-review-title {
  color       : var(--color-primary);
  text-align  : center;
  font-size   : 45px;
  font-style  : normal;
  font-weight : 700;
  line-height : 50px;
  margin      : 0;
}

.habitat-review-text {
  color       : var(--color-primary);
  text-align  : center;
  font-size   : 15px;
  font-style  : normal;
  font-weight : 500;
  line-height : 180%;
  margin      : 25px 0;
}

.habitat-review-description {
  font-size               : 14px;
  font-style              : normal;
  font-weight             : 700;
  line-height             : normal;
  letter-spacing          : 0.14px;
  text-transform          : uppercase;
  background              : var(--gradient-pro);
  background-clip         : text;
  -webkit-background-clip : text;
  -webkit-text-fill-color : transparent;
}

.habitat-review-buttons.btn-pro {
  text-align      : center;
  text-shadow     : 0 0 4px rgba(0, 0, 0, 0.25);
  font-size       : 16px;
  font-style      : normal;
  font-weight     : 700;
  line-height     : normal;
  text-transform  : initial;
  width           : 235px;
  height          : 50px;
  display         : flex;
  align-items     : center;
  justify-content : center;
}

.habitat-review-media .media-container {
  border-radius : 25px;
  overflow      : hidden;
}

.habitat-review-media .default-media {
  width : 100%;
}

/****************************************
	Part - habitat-approaches-section
*****************************************/

.habitat-approaches-section {
  display         : flex;
  flex-direction  : column;
  align-items     : center;
  min-width       : 550px;
  height          : 100%;
  justify-content : space-between;
}

.approaches-section .container-secondary {
  display     : flex;
  align-items : flex-start;
  gap         : 150px;
  padding     : 110px 0;
}

.habitat-approaches-right-section {
  display               : grid;
  grid-template-columns : repeat(10, 1fr);
  gap                   : 10px
}

.habitat-approaches-right:nth-child(1) {
  grid-column : 1 / 5;
  grid-row    : 1;
}

.habitat-approaches-right:nth-child(2) {
  grid-column : 5 / 11;
  grid-row    : 1;
}

.habitat-approaches-right:nth-child(3) {
  grid-column : 1 / 6;
  grid-row    : 2;
}

.habitat-approaches-right:nth-child(4) {
  grid-column : 6 / 11;
  grid-row    : 2;
}

.habitat-approaches-right {
  display         : flex;
  padding         : 24px;
  flex-direction  : column;
  justify-content : center;
  align-items     : center;
  gap             : 16px;
  border-radius   : 16px;
  background      : #F3F7FA;
}

.habitat-approaches-right-container {
  display        : flex;
  flex-direction : column;
  align-items    : center;
}

.habitat-approaches-right-description {
  color       : var(--color-primary);
  text-align  : center;
  font-size   : 15px;
  font-style  : normal;
  font-weight : 500;
  line-height : normal;
}

.habitat-approaches-right-title {
  color       : var(--color-primary);
  text-align  : center;
  font-size   : 21px;
  font-style  : normal;
  font-weight : 800;
  line-height : normal;
  margin      : 0 0 16px;
}

.habitat-approaches-text {
  color       : var(--color-primary);
  font-size   : 15px;
  font-style  : normal;
  font-weight : 500;
  line-height : 180%;
}

.habitat-approaches-title {
  color       : var(--color-primary);
  font-size   : 45px;
  font-style  : normal;
  font-weight : 700;
  line-height : 50px;
  margin      : 8px 0 30px;
}

.habitat-approaches-description {
  font-size               : 14px;
  font-style              : normal;
  font-weight             : 700;
  line-height             : normal;
  letter-spacing          : 0.14px;
  text-transform          : uppercase;
  background              : var(--gradient-pro);
  background-clip         : text;
  -webkit-background-clip : text;
  -webkit-text-fill-color : transparent;
}

.habitat-video {
  width        : 640px;
  aspect-ratio : 768 / 510;
  object-fit   : cover;
  display      : block;
  -webkit-mask : url("../templates/assets/habitat-svg.svg") no-repeat center / 100% 100%;
  mask         : url("../templates/assets/habitat-svg.svg") no-repeat center / 100% 100%;
}

.habitat-video-content {
  position : relative;
}

.habitat-img_svg {
  position : absolute;
  bottom   : 80px;
  right    : 20px;
}

@media (max-width : 450px) {
  .habitat-approaches-title {
    font-size   : 38px;
    line-height : 44px;
  }

  .habitat-approaches-right-section {
    display        : flex;
    flex-direction : column;
    gap            : 10px;
  }

  .habitat-img_svg {
    bottom : 0 !important;
    width  : 130px;
  }
}

@media (max-width : 768px) {
  .habitat-review-section_slide {
    display               : grid;
    gap                   : 30px;
    grid-template-columns : 1fr;
    align-items           : center;
  }

  .habitat-review-container {
    max-width  : 100%;
    margin-top : 40px;
  }

  .media-svg {
    right : -40px;
  }

  .services-overview_header {
    display         : flex;
    flex-direction  : column;
    align-items     : center;
    justify-content : center;
    gap             : 25px;
  }

  .habitat-video {
    width : 100%;
  }

  .habitat-img_svg {
    position : absolute;
    bottom   : 15%;
    right    : 20px;
  }
}

@media (max-width : 1200px) {
  .approaches-section .container-secondary {
    flex-direction : column;
    gap            : 50px;
  }

  .approaches-section .habitat-approaches-section {
    min-width : 100%;
  }
}

@media (max-width : 1600px) {
  .habitat-approaches-section {
    min-width : 300px;
  }
}

/****************************************
	Part - btn devis sticky
*****************************************/

.return-to-devis-section {
  position : fixed;
  bottom   : 23px;
  right    : 20px;
  z-index  : 10;
}

.btn.btn-pro.return-to-devis {
  display         : flex;
  padding         : 16px 24px;
  justify-content : center;
  align-items     : center;
  width           : fit-content;
  text-transform  : initial;
}
