/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

[data-elementor-type='wp-page'],
[data-elementor-type='single-page'] {
  overflow: hidden !important;
}

/**/

.colorTitle span {
  color: var(--e-global-color-secondary);
}

.decoTrait::after {
  content: '';
  display: block;
  background-color: var(--e-global-color-primary);
  width: 50px;
  height: 2px;
}

/**/

.button svg {
  width: 16px;
}

.button.light svg path {
  fill: var(--e-global-color-secondary) !important;
  transition: fill 200ms ease-in-out;
}
.button.light a:hover svg path {
  fill: var(--e-global-color-text) !important;
}

/**/

.imgAbsolute {
  position: absolute;
  user-select: none;
  pointer-events: none;
  z-index: -1;
}

/**/

.iconCustom .elementor-icon-wrapper {
  display: flex;
}

.iconCustom path {
  fill: var(--e-global-color-primary);
}

/* FAQ personnalisee */

.customFaq p {
  margin: 0;
}

.customFaq .uc_ac_box {
  padding: 20px;
  border: solid 2px #1f1f1e;
  border-bottom: solid 2px #d1a33f25;
}

@media all and (max-width: 767px) {
  .customFaq .uc_ac_box {
    padding: 15px;
  }
}

.customFaq .uc_ac_box.uc-item-active {
  border: solid 2px #d1a33f25;
}

.customFaq .uc-items-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/**/

.customFaq .ue_accordion_icon {
  background-color: var(--e-global-color-primary);
  color: var(--e-global-color-accent) !important;
  height: 40px !important;
  border-radius: 16px !important;
}

.customFaq .uc-item-active .ue_accordion_icon {
  background-color: white !important;
  color: var(--e-global-color-accent) !important;
}

/* afficher ou masquer le prix dans les boucles annonces
 * 
 * code similaire pour gerer le prix sur la page type -> sur la page type css
 *  */

.annoncesLoop .type-doffre-achat .prixLocation {
  display: none !important;
}
.annoncesLoop .type-doffre-location .prixAchat {
  display: none !important;
}

/* quotes customCitation */

.customCitation::before {
  content: '';
  position: absolute;

  width: 90px;
  height: 90px;
  right: 0;
  top: 0;
  transform: translate(50%, -50%);

  background-image: url('https://staging.myoxeon.com/wp-content/uploads/2026/02/ox_icon-9876.webp');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.customCitation::after {
  content: '';
  position: absolute;

  width: 90px;
  height: 90px;
  left: 0;
  bottom: 0;
  transform: translate(-50%, 50%) rotate(180deg);

  background-image: url('https://staging.myoxeon.com/wp-content/uploads/2026/02/ox_icon-9876.webp');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media all and (max-width: 1024px) {
  .customCitation::before,
  .customCitation::after {
    width: 50px;
    height: 50px;
  }
}

@media all and (max-width: 767px) {
  .customCitation::before,
  .customCitation::after {
    width: 30px;
    height: 50px;
  }
}

/* Boucles annonces */

.iconBtnCard a {
  display: flex;
}
.iconBtnCard svg {
  transform: rotate(-45deg);
}

/**/

.container_diagnostic ul {
  display: flex;
  list-style-type: none;
  /* background-color:red; */
  max-width: 350px;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  margin-top: 0.8rem;
  padding: 0 !important;
}
.container_diagnostic ul span {
  display: none;
}
.container_diagnostic ul li {
  width: 100% !important;
  min-height: 5px;
  height: fit-content;
  text-align: center;
  border-radius: 5px;

  padding: 5px 12px 2px 12px;

  font-family: var(--e-global-typography-9fb6d3b-font-family), Sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  font-style: var(--e-global-typography-9fb6d3b-font-style);
  line-height: var(--e-global-typography-9fb6d3b-line-height);
}
.container_diagnostic ul li:nth-child(1) {
  background-color: #009c6d;
}
.container_diagnostic ul li:nth-child(2) {
  background-color: #52b153;
}
.container_diagnostic ul li:nth-child(3) {
  background-color: #78bd76;
}
.container_diagnostic ul li:nth-child(4) {
  background-color: #f4e70f;
}
.container_diagnostic ul li:nth-child(5) {
  background-color: #f0b50f;
}
.container_diagnostic ul li:nth-child(6) {
  background-color: #eb8235;
}
.container_diagnostic ul li:nth-child(7) {
  background-color: #d7221f;
}

span.non-soumis-dpe {
  font-family: var(--e-global-typography-9fb6d3b-font-family), Sans-serif;
  font-size: var(--e-global-typography-9fb6d3b-font-size);
  font-weight: var(--e-global-typography-9fb6d3b-font-weight);
  font-style: var(--e-global-typography-9fb6d3b-font-style);
  line-height: var(--e-global-typography-9fb6d3b-line-height);
  color: white;
}

/*  */

.container_diagnostic .elementor-icon-box-content p:last-child {
  display: none;
}

body:not(.immeuble) .nb_etages {
  display: none;
}

body.immeuble .nb_pieces {
  display: none;
}

body.immeuble .nb_etages {
  display: block;
}

/* card effect */

.parentCol {
  display: flex;
  gap: 1rem;
}

.colContainer {
  width: 33%;
  min-width: 0;
  overflow: hidden;
  transition: width 500ms ease;
}

.colContainer:hover {
  width: 50%;
}

.colContainer:first-child {
  width: 50%;
}

.parentCol:has(.colContainer:not(:first-child):hover) .colContainer:first-child {
  width: 33%;
}

.parentCol:has(.colContainer:hover) .colContainer:not(:hover) {
  width: 33%;
}

/* ========================= */
/* ✅ CONTENU (DESKTOP) */
/* ========================= */

.colContent {
  transform: translateY(100px);
  transition: transform 350ms cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-delay: 0.1s;
  will-change: transform;
}

/* ouvert par défaut sur le first + au hover */
.colContainer:first-child .colContent,
.colContainer:hover .colContent {
  transform: translateY(0);
}

/* si on hover une autre colonne => on referme le first */
.parentCol:has(.colContainer:not(:first-child):hover) .colContainer:first-child .colContent {
  transform: translateY(100px);
}

/* ========================= */
/* ✅ TEXTE (hauteur à 0 quand caché) */
/* ========================= */

.colContent .card-text {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.35s ease;
  transition-delay: 0.1s;
}

.card-text p {
  width: 430px;
}

/* ouvert par défaut sur first + au hover */
.colContainer:first-child .colContent .card-text,
.colContainer:hover .colContent .card-text {
  opacity: 1;
  max-height: 500px; /* ajuste si ton texte est plus long */
}

/* si on hover une autre => on referme le texte du first */
.parentCol:has(.colContainer:not(:first-child):hover) .colContainer:first-child .colContent .card-text {
  opacity: 0;
  max-height: 0;
}

/* ========================= */
/* ✅ MOBILE */
/* ========================= */

@media all and (max-width: 1024px) {
  .colContainer {
    min-width: 100%;
    min-height: 200px !important;
    transition: min-height 0.3s ease;
  }

  .colContainer:first-child {
    min-height: 400px !important;
    width: 100%;
  }

  .colContainer:hover {
    min-height: 400px !important;
  }

  .parentCol:has(.colContainer:not(:first-child):hover) .colContainer:first-child {
    min-height: 200px !important;
  }

  .parentCol:has(.colContainer:hover) .colContainer:not(:hover) {
    min-height: 200px !important;
  }

  .card-text p {
    width: 100% !important;
  }

  /* même logique transform sur mobile (150px fermé) */
  .colContent {
    transform: translateY(100px);
    transition: transform 350ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition-delay: 0.1s;
    will-change: transform;
  }

  .colContainer:first-child .colContent,
  .colContainer:hover .colContent {
    transform: translateY(0);
  }

  .parentCol:has(.colContainer:not(:first-child):hover) .colContainer:first-child .colContent {
    transform: translateY(100px);
  }

  /* texte: hauteur 0 quand caché + ouvert au hover/first */
  .colContent .card-text {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0s ease;
    transition-delay: 0.1s;
  }

  .colContainer:first-child .colContent .card-text,
  .colContainer:hover .colContent .card-text {
    opacity: 1;
    max-height: 500px;
  }

  .parentCol:has(.colContainer:not(:first-child):hover) .colContainer:first-child .colContent .card-text {
    opacity: 0;
    max-height: 0;
  }
}

.box-wrapper {
  display: flex;
  gap: 1rem;
}

.box-parent {
  width: 33%;
  transition: width 0.3s ease;
}

.box-parent:first-child {
  width: 50%;
}

.box-parent:hover {
  width: 50%;
}

.box-wrapper:has(.box-parent:not(:first-child):hover) .box-parent:first-child {
  width: 33%;
}

.box-wrapper:has(.box-parent:hover) .box-parent:not(:hover) {
  width: 33%;
}

.box-content {
  transform: translateY(90%);
  transition: transform 500ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.box-parent:first-child .box-content {
  transform: translateY(0);
}

.box-parent:hover .box-content {
  transform: translateY(0);
}

.box-wrapper:has(.box-parent:not(:first-child):hover) .box-parent:first-child .box-content {
  transform: translateY(90%);
}

@media all and (max-width: 1024px) {
  .box-parent {
    width: 100%;
    height: 250px;
    transition: height 0.3s ease;
  }

  /* First = 400px par défaut */
  .box-parent:first-child {
    height: 370px;
    width: 100%;
  }

  /* Hover = 400px */
  .box-parent:hover {
    height: 370px;
    width: 100%;
  }

  /* Si on hover une box qui n’est pas la première */
  .box-wrapper:has(.box-parent:not(:first-child):hover) .box-parent:first-child {
    min-height: 250px;
    width: 100%;
  }

  /* Les non-hover quand une box est hover */
  .box-wrapper:has(.box-parent:hover) .box-parent:not(:hover) {
    width: 100%;
    height: 250px;
  }
}

.annoncesLoop.blankAnimationUp .owl-stage .owl-item {
  opacity: 0;
  animation: customSlideUp 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
.annoncesLoop.blankAnimationDown .owl-stage .owl-item {
  opacity: 0;
  animation: customSlideDown 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}

.annoncesLoop .owl-stage > *:nth-of-type(1) {
  animation-delay: 400ms !important;
}

.annoncesLoop .owl-stage > *:nth-of-type(2) {
  animation-delay: 500ms !important;
}

.annoncesLoop .owl-stage > *:nth-of-type(3) {
  animation-delay: 600ms !important;
}

.annoncesLoop .owl-stage > *:nth-of-type(4) {
  animation-delay: 700ms !important;
}

.annoncesLoop .owl-stage > *:nth-of-type(5) {
  animation-delay: 800ms !important;
}

.annoncesLoop .owl-stage > *:nth-of-type(6) {
  animation-delay: 900ms !important;
}

.annoncesLoop .owl-stage > *:nth-of-type(7) {
  animation-delay: 1000ms !important;
}

.avisLoop.blankAnimationUp .uc-items-wrapper .ue-grid-item {
  opacity: 0;
  animation: customSlideUp 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
.avisLoop.blankAnimationDown .uc-items-wrapper .ue-grid-item {
  opacity: 0;
  animation: customSlideDown 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}

.avisLoop .uc-items-wrapper > *:nth-of-type(1) {
  animation-delay: 400ms !important;
}

.avisLoop .uc-items-wrapper > *:nth-of-type(2) {
  animation-delay: 500ms !important;
}

.avisLoop .uc-items-wrapper > *:nth-of-type(3) {
  animation-delay: 600ms !important;
}

.avisLoop .uc-items-wrapper > *:nth-of-type(4) {
  animation-delay: 700ms !important;
}

.avisLoop .uc-items-wrapper > *:nth-of-type(5) {
  animation-delay: 800ms !important;
}

.avisLoop .uc-items-wrapper > *:nth-of-type(6) {
  animation-delay: 900ms !important;
}

.avisLoop .uc-items-wrapper > *:nth-of-type(7) {
  animation-delay: 1000ms !important;
}

.partCarousel.blankAnimationUp .swiper-wrapper .swiper-slide {
  opacity: 0;
  animation: customSlideUp 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
.partCarousel.blankAnimationDown .swiper-wrapper .swiper-slide {
  opacity: 0;
  animation: customSlideDown 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}

.partCarousel .swiper-wrapper > *:nth-of-type(1) {
  animation-delay: 400ms !important;
}

.partCarousel .swiper-wrapper > *:nth-of-type(2) {
  animation-delay: 500ms !important;
}

.partCarousel .swiper-wrapper > *:nth-of-type(3) {
  animation-delay: 600ms !important;
}

.partCarousel .swiper-wrapper > *:nth-of-type(4) {
  animation-delay: 700ms !important;
}

.partCarousel .swiper-wrapper > *:nth-of-type(5) {
  animation-delay: 800ms !important;
}

.partCarousel .swiper-wrapper > *:nth-of-type(6) {
  animation-delay: 900ms !important;
}

.partCarousel .swiper-wrapper > *:nth-of-type(7) {
  animation-delay: 1000ms !important;
}

.customFaq.blankAnimationUp .uc-items-wrapper .uc_ac_box {
  opacity: 0;
  animation: customSlideUp 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
.customFaq.blankAnimationDown .uc-items-wrapper .uc_ac_box {
  opacity: 0;
  animation: customSlideDown 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}

.customFaq .uc-items-wrapper > *:nth-of-type(1) {
  animation-delay: 400ms !important;
}

.customFaq .uc-items-wrapper > *:nth-of-type(2) {
  animation-delay: 500ms !important;
}

.customFaq .uc-items-wrapper > *:nth-of-type(3) {
  animation-delay: 600ms !important;
}

.customFaq .uc-items-wrapper > *:nth-of-type(4) {
  animation-delay: 700ms !important;
}

.customFaq .uc-items-wrapper > *:nth-of-type(5) {
  animation-delay: 800ms !important;
}

.customFaq .uc-items-wrapper > *:nth-of-type(6) {
  animation-delay: 900ms !important;
}

.customFaq .uc-items-wrapper > *:nth-of-type(7) {
  animation-delay: 1000ms !important;
}

.note-wrapper.blankAnimationUp .e-rating-wrapper .e-icon {
  opacity: 0;
  animation: customSlideUp 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
.note-wrapper.blankAnimationDown .e-rating-wrapper .e-icon {
  opacity: 0;
  animation: customSlideDown 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}

.note-wrapper .e-rating-wrapper > *:nth-of-type(1) {
  animation-delay: 400ms !important;
}

.note-wrapper .e-rating-wrapper > *:nth-of-type(2) {
  animation-delay: 500ms !important;
}

.note-wrapper .e-rating-wrapper > *:nth-of-type(3) {
  animation-delay: 600ms !important;
}

.note-wrapper .e-rating-wrapper > *:nth-of-type(4) {
  animation-delay: 700ms !important;
}

.note-wrapper .e-rating-wrapper > *:nth-of-type(5) {
  animation-delay: 800ms !important;
}

.note-wrapper .e-rating-wrapper > *:nth-of-type(6) {
  animation-delay: 900ms !important;
}

.note-wrapper .e-rating-wrapper > *:nth-of-type(7) {
  animation-delay: 1000ms !important;
}

.card-annonce:hover .elementor-icon {
  background: var(--e-global-color-text) !important;
}

.card-annonce:hover .elementor-icon svg path {
  fill: var(--e-global-color-primary) !important;
}

/* timeline */

.customLine path {
  fill: #ffcc4e;
}

.customLine::after {
  content: '';
  position: absolute !important;
  height: calc(100% + 120px) !important;
  width: 2px !important;
  left: 50% !important;
  top: 0px !important;
  z-index: -1 !important;
  background-color: #44381e !important;
}

@media all and (max-width: 1024px) {
  .customLine::after {
    height: calc(100% + 140px)!important;
  }
}
