/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.5.1765896469
Updated: 2025-12-16 15:47:49



/* =========================================================
   VARIABLES
========================================================= */
:root{
  --tg-accent:#b98e67;
  --tg-accent-soft:#b98e674f;
  --tg-bg:#EFEFED;
  --tg-white:#fff;
  --tg-text:#222;
  --tg-radius:32px;

  --tg-shadow:0 16px 35px rgba(0,0,0,.12);
  --tg-border:1px solid #d5d8dc;
}

.premiere-lettre, .premier-mot{
	color: #b98e67 !important;
}

/* =========================================================
   BASE
========================================================= */
html{
  height:100%;
  overflow:hidden;
}

body{
  height:100%;
  background:var(--tg-bg)!important;
  overflow:hidden;
  font-family:var(--e-global-typography-primary-font-family)!important;
}

p{ color:#646464!important; }

.h1{ font-size:30px; font-weight:600; }

h2{
  color:#323232;
  font-size:24px;
  line-height:1.4em;
  font-weight:600;
  margin-bottom:25px;
}

.hidden{ display:none!important; }
#site-footer{ display:none; }

.texte a{ color:var(--tg-accent)!important; }

.map iframe{ height:250px!important; }

/* =========================================================
   FOOTER / BOUTONS
========================================================= */
.footer-contact span.elementor-button-icon svg{
  font-size:20px;
  margin-right:10px;
}
.contact-form .forminator-ui#forminator-module-1091.forminator-design--material .forminator-textarea {
    border: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid gray !important;
}
.footer-contact span.elementor-button-icon svg path{ fill:var(--tg-accent); }
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea--wrap:after{
	opacity: 0 !important;
}
input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus, select:focus, textarea:focus {
    border-color: #b98e674f;
}
.forminator-ui#forminator-module-1091.forminator-design--material .forminator-button-submit {
    background: transparent !important;
    color: black !important;
    text-transform: uppercase !important;
}
.bouton-carte a{
  background-image:linear-gradient(180deg,#B98E67 50%,#9B510F 100%);
}

/* =========================================================
   LAYOUT SHELL
========================================================= */
.tg-shell{
  display:flex;
  justify-content:center;
  align-items:center;
  box-sizing:border-box;
  margin:8vh 6vw 9vh;
  max-width:1480px!important;
  max-height:800px;
  height:calc(100vh - 17vh);
}

.elementor.elementor-14{
  margin:auto;
  display:flex;
  justify-content:center;
}

.tg-shell-inner{
  width:100%;
  max-width:1480px;
  height:calc(100vh - 20.5vh);
  max-height:800px;
  display:flex;
}

.elementor-element-2b6553c,
.profil-card-inner{ height:100%; }

.bloc-100{ height:100%!important; }

/* =========================================================
   RIGHT PANEL / SCROLL
========================================================= */
.tg-right-card{
  height:100%;
  overflow:hidden;
  perspective:1400px;
}

.tg-right-card .tg-panel{
  position:relative;
  height:100%;
  overflow:hidden;
  border-radius:26px;
}

.tg-right-scroll{
  height:110%;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}

.tg-right-scroll::-webkit-scrollbar-track{
  -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0);
  background-color:transparent!important;
}
.tg-right-scroll::-webkit-scrollbar{
  width:6px;
  background-color:transparent!important;
}
.tg-right-scroll::-webkit-scrollbar-thumb{
  background-color:#555;
  border-radius:20px;
}

/* =========================================================
   PROFILE CARD
========================================================= */
.profile-card{ perspective:32rem; }

.profil-card-inner{
  -webkit-transform:rotateY(6deg);
  transform:rotateY(6deg);
}

.profil-image{
  position:relative;
  z-index:99;
  display:flex;
  justify-content:center;
  height:100%;
}

.profil-image .img-profil{ margin-bottom:50px!important; }

.profil-image img{
  border:3px solid var(--tg-white);
  border-radius:100%;
}

/* =========================================================
   SLIDER POPUP NAV
========================================================= */
.slide-popup .elementor-swiper-button{
  height:30px;
  width:30px;
  background:gray;
  border-radius:5px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.4s ease;
}
.slide-popup .elementor-swiper-button svg{ fill:#fff!important; }

.slide-popup .elementor-swiper-button-next:after,
.slide-popup .elementor-swiper-button-prev:after{
  content:"\27A7";
  color:#fff;
  font-size:20px;
}
.slide-popup .elementor-swiper-button-prev:after{ transform:rotate(180deg); }

.slide-popup .elementor-swiper-button:hover{ background:RGBA(255,145,57,1); }

/* =========================================================
   TG SWIPER (tes styles + animations)
========================================================= */
.tg-swiper{ height:260px; overflow:hidden; border-radius:28px 28px 0 0; }
.tg-swiper .swiper,
.tg-swiper .swiper-wrapper,
.tg-swiper .swiper-slide{ height:100%; }

.tg-swiper img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  object-position:center;
  display:block;
  will-change:transform;
  transform-origin:center;
}

.tg-swiper .tg-enter img{
  animation: tgEnterDezoom var(--tg-trans-dur, 1000ms) ease-in-out both;
}
@keyframes tgEnterDezoom{
  from { transform: scale(1.14); }
  to   { transform: scale(1.00); }
}

.tg-swiper .tg-exit img{
  animation: tgExitZoom var(--tg-trans-dur, 1000ms) ease-in-out both;
}
@keyframes tgExitZoom{
  from { transform: scale(1.00); }
  to   { transform: scale(1.14); }
}

/* =========================================================
   CURSOR (custom)
========================================================= */
.tg-cursor,
.tg-cursor-ring{
  position:fixed;
  left:0;
  top:0;
  pointer-events:none;
  z-index:999999;
  transform:translate(-50%,-50%);
}

.tg-cursor{
  width:25px;
  height:25px;
  border-radius:50%;
  background:var(--tg-accent-soft);
  opacity:0;
  transition:transform .5s ease, opacity .5s ease;
}

.tg-cursor-ring{
  width:80px;
  height:80px;
  border-radius:50%;
  border:1.5px solid var(--tg-accent);
  opacity:0;
  transform:translate(-50%,-50%) scale(0);
  transition:transform .5s ease, opacity .5s ease;
}

body.tg-cursor-hover .tg-cursor{
  transform:translate(-50%,-50%) scale(0);
  opacity:0;
}

body.tg-cursor-hover .tg-cursor-ring{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
  transition-delay:.08s;
}

/* =========================================================
   BUTTON / LINKS
========================================================= */
.bloc-link:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1px;
  background:radial-gradient(ellipse at center,#dddddd 0%,rgba(255,255,255,0) 70%);
}

.bloc-link .elementor-button-content-wrapper{
  display:flex;
  align-items:center;
}

.bloc-link .elementor-button-icon{
  background:var(--tg-accent);
  height:30px;
  width:30px;
  border-radius:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  transition:.4s ease;
}

.bloc-link .elementor-button-icon svg{ fill:var(--tg-white)!important; }

.bloc-link .elementor-button-link:hover .elementor-button-icon{ margin-top:-5px; }

.bloc-social{ margin-top:16px; }
.contenu-bloc-contact a { color: black; }

/* =========================================================
   SIDE NAV (desktop) + MOBILE NAV (mb-*)
========================================================= */
.profile-card .tg-side-nav,
.mb-side-nav{
  position:absolute;
  left:0;
  top:15px;
  width:72px;
  display:flex;
  flex-direction:column;
  align-items:center;
  z-index:9999!important;
  overflow:visible!important;
}

/* Cadre décoratif (desktop only) */
.profile-card .tg-side-nav::before{
  content:"";
  position:absolute;
  left:-10px;
  right:10px;
  top:26px;
  bottom:-10px;
  border:1px solid var(--tg-accent);
  opacity:.65;
  border-radius:var(--tg-radius);
  z-index:1;
  pointer-events:none!important;
}

.profile-card .tg-side-inner,
.mb-side-inner{
  width:72px;
  padding:14px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  background:var(--tg-white);
  box-shadow:var(--tg-shadow);
  border-radius:var(--tg-radius);
  z-index:60;
  overflow:visible!important;
}

.profile-card .tg-side-link,
.mb-side-link{
  position:relative;
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--tg-text);
  transition:transform .25s ease, background-color .25s ease, color .25s ease;
  overflow:visible!important;
}

.profile-card .tg-side-link{
  height:35px;
  padding:2px 3px;
}

.profile-card .tg-side-link:hover,
.mb-side-link:hover{
  transform:scale(1.05);
  color:var(--tg-accent);
}

.profile-card .tg-side-link.is-active .tg-ico,
.mb-side-link.is-active .tg-ico,
.mb-side-link.actived .tg-ico{
  transform:scale(1.05);
  color:var(--tg-accent);
}

.profile-card .tg-ico{
  font-size:18px;
  line-height:1;
}

/* Tooltip desktop */
.profile-card .tg-name{
  position:absolute;
  left:calc(100% + 0px);
  top:50%;
  transform:translateY(-50%) translateX(-6px);
  background:var(--tg-accent);
  color:var(--tg-white);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:8px 12px;
  border-radius:10px;
  white-space:nowrap;
  font-weight:700;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  z-index:9999;
  pointer-events:auto;
  font-family:var(--e-global-typography-primary-font-family)!important;
}

.profile-card .tg-side-link:hover .tg-name{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0);
}

/* =========================================================
   PANELS
========================================================= */
.tg-panel{
  display:none;
  opacity:0;
  height:100%;
  backface-visibility:hidden;
  transform-style:preserve-3d;
  background:linear-gradient(to bottom,rgba(255,255,255,0) 75%,rgba(255,255,255,1) 100%)!important;
}

.tg-panel.is-active{
  display:block;
  opacity:1;
  animation:tgJackIn .75s cubic-bezier(.22,1,.36,1) both;
}

.tg-panel.is-leaving{
  display:block;
  animation:tgJackOut .35s ease both;
}

@keyframes tgJackIn{
  from{
    opacity:0;
    transform:translateX(-22px) translateY(28px) scale(.12) rotate(28deg);
    transform-origin:center bottom;
  }
  50%{ opacity:1; transform:translateX(0) translateY(0) scale(1) rotate(-10deg); }
  70%{ transform:translateX(0) translateY(0) scale(1) rotate(3deg); }
  to { opacity:1; transform:translateX(0) translateY(0) scale(1) rotate(0deg); }
}

@keyframes tgJackOut{
  from{ opacity:1; transform:translateY(0) scale(1); }
  to{ opacity:0; transform:translateY(12px) scale(.99); }
}

/* =========================================================
   CAROUSEL / TABS
========================================================= */
.carousel-page figure{ height:300px; width:auto; }

.carousel-page figure img{
  object-fit:cover!important;
  height:100%;
  width:100%;
}

.custom-onglet .e-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]:after{
  content:"";
  background:#efefed!important;
  right:-10px;
  top:0;
  width:15px;
  height:100%;
  position:absolute;
  z-index:9;
}

#immobilier .e-n-tabs-content{
  border:var(--tg-border);
  margin-left:-10px;
}

/* =========================================================
   EAEL / GALLERY FIX
========================================================= */
.eael-filterable-gallery-item-wrap .eael-gallery-grid-item .gallery-item-thumbnail-wrap>img{
  -o-object-fit:cover !important;
  object-fit:contain !important;
}

.gallery-item-caption-wrap.caption-style-card{
  background:transparent !important;
}

/* =========================================================
   PHOTO PROFIL (barre mobile) - état par défaut
========================================================= */
.photo-profil{ display:none; }

/* =========================================================
   RESPONSIVE
========================================================= */

/* Desktop >= 1120px */
@media (min-width:1120px){
  .profile-card{
    position:relative;
    border-radius:28px;
  }

  .profile-card .slide{
    position:absolute;
    left:0;
    top:0!important;
    width:100%;
    height:56%!important;
    border-radius:var(--tg-radius) var(--tg-radius) 0 0;
  }

  .profile-card .slide .swiper,
  .profile-card .slide .swiper-wrapper,
  .profile-card .slide .swiper-slide{ height:100%; }

  .profile-card .slide img{
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    object-position:center;
    display:block;
  }

  .profile-card .card-body{
    height:42%;
    position:absolute;
    z-index:2;
    bottom:0;
  }

  .profil-image{ margin-top:11vh; }
  .profile-card .tg-side-nav{ margin-left:-35px; }
  .mb-side-nav{ display:none; }
}

/* <= 1119px */
@media (max-width:1119px){
  html{ overflow:initial!important; }
  body{ overflow:initial!important; background:var(--tg-bg)!important; }

  .tg-shell{
    padding:2vh 10vw 9vh!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    align-items:flex-start;
    min-height:100%!important;
  }

  .tg-shell-inner{
    width:100%;
    max-width:100%;
    height:100%!important;
    max-height:100%!important;
    display:flex;
    flex-direction:column!important;
    overflow:initial!important;
  }

  .profile-card{
    perspective:initial!important;
    width:100%!important;
  }

  .tg-shell .profile-card{
    height:100vh!important;
    max-height:780px!important;
  }

  .profil-card-inner{
    -webkit-transform:none!important;
    transform:none!important;
  }

  .tg-right-card{
    perspective:none!important;
    height:100%;
    overflow:initial!important;
    width:100%!important;
  }

  .slide{
    height:54%!important;
    position:absolute!important;
  }

  .tg-swiper{ height:100%!important; }

  .profil-image .img-profil{ margin-bottom:59px!important; }

  /* Navigation mobile fixe */
  .mb-side-nav{
    display:block;
    position:fixed!important;
    top:45px!important;
    left:20px!important;
  }

  /* Désactive side-nav desktop */
  .profile-card .tg-side-nav{ display:none!important; }
  .profile-card .tg-side-nav::before{ display:none!important; }

  /* Panels visibles (mobile) */
  .tg-panel{
    margin-top:50px!important;
    display:block!important;
    opacity:1!important;
    height:100%;
    backface-visibility:visible!important;
  }
}

/* Mobile <= 767px */
@media (max-width:767px){
  /* optionnel (tu l'avais) */
  .tg-panel{ padding-top:0px !important; margin-top:0px !important; scroll-margin-top: 100px !important;}
  .tg-right-scroll{
  height:100%;
  }

  #accueil{
	padding-top:30px !important;
  }

  .tg-shell .profile-card{
    height:calc(100vh - 135px)!important;
    min-height:560px!important;
    max-height:650px!important;
  }

  .profil-image{ --flex-wrap:none!important; }

  .e-con.e-flex{
    --width:100%;
    --flex-wrap:none!important;
  }

  .mb-side-nav{
    top:64px!important;
    left:0!important;
    width:100%!important;
    border-radius:0!important;
  }

  .mb-side-inner{
    width:100%!important;
    flex-direction:row!important;
    border-radius:0!important;
    justify-content:space-around!important;
    height:73px;
  }

  .photo-profil{
    display:flex!important;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:64px;
    z-index:999;
    background:#fff;
    border-bottom:1px solid #8080801c;
    padding:7px 25px;
    align-items:center;
  }

  .photo-profil span{
    margin-left:10px;
    font-size:20px;
    font-weight:500;
  }

  .photo-profil img{
    width:44px;
    height:auto;
  }

  .tg-shell{ padding:130px 0vw 9vh!important; }

  .profil-image .img-profil{
    margin:60px 0!important;
    position:relative;
    display:inline-block;
  }

  .profil-card-inner .profil-image .img-profil{
    margin-bottom:60px!important;
  }

  .tg-swiper{
    height:100%!important;
    border-radius:0!important;
  }
}
