/************************************************************
	FONTS
************************************************************/
@font-face {
    font-family: 'graphikmedium';
    src: url('fonts/graphik/graphik-medium-webfont.woff2') format('woff2'),
         url('fonts/graphik/graphik-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'graphik_regularregular';
    src: url('fonts/graphik/graphik-regular-webfont.woff2') format('woff2'),
         url('fonts/graphik/graphik-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
body {
    font-family: 'graphik_regularregular', "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    color: #101a2d;
    background-image: url(../images/background-motif.jpg);
    background-repeat: repeat;
}
/************************************************************
	HELPER CLASS
************************************************************/
.font-weight-300{font-weight:300!important}
.font-weight-400{font-weight:400!important}
.font-weight-500{
    font-weight: normal!important;
    font-family: 'graphikmedium', "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.font-weight-600{font-weight:600!important}
.font-weight-700{font-weight:700!important}
.font-weight-900{font-weight:900!important}
.font-size-1{font-size:.6rem!important}
.font-size-2{font-size:.7rem!important}
.font-size-2-5{font-size:.8rem!important}
.font-size-3{font-size:.9rem!important}
.font-size-3-5{font-size:1rem!important}
.font-size-4{font-size:1.15rem!important}
.font-size-5{font-size:1.3rem!important}
.font-size-6{font-size:1.45rem!important}
.font-size-7{font-size:1.6rem!important}
.font-size-7-5{font-size:1.9rem!important}
.font-size-8{font-size:2.2rem!important}
.font-size-9{font-size:2.75rem!important}
.font-size-10{font-size:3rem!important}
.font-size-11{font-size:3.75rem!important}
.font-size-12{font-size:4.4rem!important}
.font-size-13{font-size:5rem!important}
.font-size-15{font-size:6rem!important}

.font-size-vw-1{font-size:clamp(0.35rem, 0.6vw, 0.85rem)!important}
.font-size-vw-2{font-size:clamp(0.4rem, 0.7vw, 1rem)!important}
.font-size-vw-2-5{font-size:clamp(0.45rem, 0.8vw, 1.15rem)!important}
.font-size-vw-3{font-size:clamp(0.5rem, 0.9vw, 1.25rem)!important}
.font-size-vw-3-5{font-size:clamp(0.55rem, 1vw, 1.4rem)!important}
.font-size-vw-4{font-size:clamp(0.6rem, 1.1vw, 1.6rem)!important}
.font-size-vw-5{font-size:clamp(0.7rem, 1.3vw, 1.8rem)!important}
.font-size-vw-6{font-size:clamp(0.8rem, 1.45vw, 2rem)!important}
.font-size-vw-7{font-size:clamp(0.9rem, 1.6vw, 2.2rem)!important}
.font-size-vw-7-5{font-size:clamp(1rem, 1.9vw, 2.65rem)!important}
.font-size-vw-8{font-size:clamp(1.2rem, 2.2vw, 3.1rem)!important}
.font-size-vw-9{font-size:clamp(1.5rem, 2.75vw, 3.85rem)!important}
.font-size-vw-10{font-size:clamp(1.6rem, 3vw, 4.2rem)!important}
.font-size-vw-11{font-size:clamp(2.5rem, 3.75vw, 5.25rem)!important}
.font-size-vw-12{font-size:clamp(2.5rem, 4.4vw, 6.15rem)!important}
.font-size-vw-13{font-size:clamp(2.5rem, 6.6vw, 7rem)!important}
.font-size-vw-14{font-size:clamp(2.8rem, 7vw, 7.8rem)!important}
.font-size-vw-15{font-size:clamp(3.2rem, 7.4vw, 8.4rem)!important}
.font-size-vw-17{font-size: clamp(5.2rem, 9vw, 11.4rem) !important;}
.font-size-vw-custom-1{font-size:clamp(1.6rem, 5vw, 4.2rem)!important}

.mb-vw-1{margin-bottom:clamp(0.25rem, 0.4vw, 0.6rem)!important}
.mb-vw-2{margin-bottom:clamp(0.3rem, 0.5vw, 0.7rem)!important}
.mb-vw-2-5{margin-bottom:clamp(0.35rem, 0.6vw, 0.8rem)!important}
.mb-vw-3{margin-bottom:clamp(0.4rem, 0.65vw, 0.9rem)!important}
.mb-vw-3-5{margin-bottom:clamp(0.45rem, 0.7vw, 1rem)!important}
.mb-vw-4{margin-bottom:clamp(0.5rem, 0.8vw, 1.15rem)!important}
.mb-vw-5{margin-bottom:clamp(0.55rem, 0.95vw, 1.3rem)!important}
.mb-vw-6{margin-bottom:clamp(0.6rem, 1.05vw, 1.45rem)!important}
.mb-vw-7{margin-bottom:clamp(0.7rem, 1.15vw, 1.6rem)!important}
.mb-vw-7-5{margin-bottom:clamp(0.8rem, 1.35vw, 1.9rem)!important}
.mb-vw-8{margin-bottom:clamp(0.9rem, 1.55vw, 2.2rem)!important}
.mb-vw-9{margin-bottom:clamp(1.1rem, 1.95vw, 2.7rem)!important}
.mb-vw-10{margin-bottom:clamp(1.2rem, 2.1vw, 3rem)!important}
.mb-vw-11{margin-bottom:clamp(1.5rem, 2.65vw, 3.7rem)!important}
.mb-vw-12{margin-bottom:clamp(1.7rem, 3.1vw, 4.3rem)!important}
.mb-vw-13{margin-bottom:clamp(1.85rem, 4.6vw, 4.9rem)!important}
.mb-vw-14{margin-bottom:clamp(2rem, 4.9vw, 5.5rem)!important}
.mb-vw-15{margin-bottom:clamp(2.35rem, 5.2vw, 5.9rem)!important}
.mb-vw-17{margin-bottom:clamp(3.8rem, 6.3vw, 8rem)!important}

.mt-vw-1{margin-top:clamp(0.25rem, 0.4vw, 0.6rem)!important}
.mt-vw-2{margin-top:clamp(0.3rem, 0.5vw, 0.7rem)!important}
.mt-vw-2-5{margin-top:clamp(0.35rem, 0.6vw, 0.8rem)!important}
.mt-vw-3{margin-top:clamp(0.4rem, 0.65vw, 0.9rem)!important}
.mt-vw-3-5{margin-top:clamp(0.45rem, 0.7vw, 1rem)!important}
.mt-vw-4{margin-top:clamp(0.5rem, 0.8vw, 1.15rem)!important}
.mt-vw-5{margin-top:clamp(0.55rem, 0.95vw, 1.3rem)!important}
.mt-vw-6{margin-top:clamp(0.6rem, 1.05vw, 1.45rem)!important}
.mt-vw-7{margin-top:clamp(0.7rem, 1.15vw, 1.6rem)!important}
.mt-vw-7-5{margin-top:clamp(0.8rem, 1.35vw, 1.9rem)!important}
.mt-vw-8{margin-top:clamp(0.9rem, 1.55vw, 2.2rem)!important}
.mt-vw-9{margin-top:clamp(1.1rem, 1.95vw, 2.7rem)!important}
.mt-vw-10{margin-top:clamp(1.2rem, 2.1vw, 3rem)!important}
.mt-vw-11{margin-top:clamp(1.5rem, 2.65vw, 3.7rem)!important}
.mt-vw-12{margin-top:clamp(1.7rem, 3.1vw, 4.3rem)!important}
.mt-vw-13{margin-top:clamp(1.85rem, 4.6vw, 4.9rem)!important}
.mt-vw-14{margin-top:clamp(2rem, 4.9vw, 5.5rem)!important}
.mt-vw-15{margin-top:clamp(2.35rem, 5.2vw, 5.9rem)!important}
.mt-vw-17{margin-top:clamp(3.8rem, 6.3vw, 8rem)!important}

/* Max-width en vw - 100% en dessous de lg */
.mw-vw-10{max-width:100%!important}
.mw-vw-20{max-width:100%!important}
.mw-vw-30{max-width:100%!important}
.mw-vw-40{max-width:100%!important}
.mw-vw-50{max-width:100%!important}
.mw-vw-60{max-width:100%!important}
.mw-vw-70{max-width:100%!important}
.mw-vw-80{max-width:100%!important}
.mw-vw-90{max-width:100%!important}
.mw-vw-100{max-width:100%!important}

@media (min-width: 992px) {
    .mw-vw-10{max-width:10vw!important}
    .mw-vw-20{max-width:20vw!important}
    .mw-vw-30{max-width:30vw!important}
    .mw-vw-40{max-width:40vw!important}
    .mw-vw-50{max-width:50vw!important}
    .mw-vw-60{max-width:60vw!important}
    .mw-vw-70{max-width:70vw!important}
    .mw-vw-80{max-width:80vw!important}
    .mw-vw-90{max-width:90vw!important}
    .mw-vw-100{max-width:100vw!important}
}

.font-color-link{color:#128488!important}
.font-color-grey-6{color:#111!important}
.font-color-grey-5{color:#333!important}
.font-color-grey-4{color:#484848!important}
.font-color-grey-3{color:#6c6c6c!important}
.font-color-grey-2{color:#848484!important}
.font-color-grey-1{color:#e1e1e1!important}
.font-color-white{color:#fff!important}
.font-color-white-80{color:rgba(255, 255, 255, 0.8)!important}
.font-color-white-60{color:rgba(255, 255, 255, 0.6)!important}
.font-color-black{color:#000000!important}
.font-color-black-60{color:rgba(0, 0, 0, 0.6)!important}
.link-no-color{color:initial}
.font-color-green{color:#00b95a!important}
.font-color-yellow{color:#ffbc00!important}
.font-color-red{color:#ea3929!important}
.bg-blue{background-color:rgb(16, 26, 45)!important}
.bg-gres{background-color:#746d66!important}
.bg-link{background-color:#128488!important}
.bg-white{background-color:#fff!important}
.bg-grey-0{background-color:#f8f8f8!important}
.bg-grey-1{background-color:#e1e1e1!important}
.bg-grey-2{background-color:#848484!important}
.bg-grey-3{background-color:#6c6c6c!important}
.bg-grey-4{background-color:#484848!important}
.bg-grey-5{background-color:#333!important}
.bg-grey-6{background-color:#111!important}
.bg-grey {
    background: #cbccd0!important;
}
.bg-primary,.background-primary{background-color:#ffc700!important}
.bg-pro,.background-pro{background-color:#00a0de!important}
.bg-green{background-color:#00b95a!important}
.bg-white{background-color:#fff!important}
.line-height-p{line-height:1.9rem}
.mt-4-5,.my-4-5{margin-top:2.25rem!important}
.mb-4-5,.my-4-5{margin-bottom:2.25rem!important}
.mx-4-5,.mr-4-5{margin-right:2.25rem!important}
.mx-4-5,.ml-4-5{margin-left:2.25rem!important}
.px-4-5,.pr-4-5{padding-right:2.25rem!important}
.px-4-5,.pl-4-5{padding-left:2.25rem!important}
.cursor-pointer{cursor:pointer}
.text-decoration-line-through{text-decoration:line-through!important}
.no-underline:hover{text-decoration:none}
.no-underline:hover .link,.link:hover,.hover-link:hover .link{text-decoration:underline}
.text-decoration-none {text-decoration: none!important;}
.line-height-initial {line-height: initial;}
.line-height-20 {line-height: 2rem;}
.line-height-30 {line-height: 3rem;}
.line-height-40 {line-height: 4rem;}
.line-height-50 {line-height: 5rem;}
.link-unstyled {
    color: inherit;
    text-decoration: inherit;
}
.button-unstyled {
    background: transparent;
    border: 0px;
    border: 0px;
    outline: none;
}
.last-p p:last-child {margin-bottom: 0px;}
.link-unstyled {
    color: inherit;
    text-decoration: none;
}
.stop-scrolling {
    height: 100%;
    overflow: hidden;
  }
  .border-dark {
    border-color: #101a2d !important;
  }
/************************************************************
	FOOTER BOTTOM
************************************************************/
.site-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-content {
    flex: 1;
}
/************************************************************
	COLORS
************************************************************/
a,
a:focus,
a:hover {
    color: #000;
}
.bg-blue a,
.bg-blue a:focus,
.bg-blue a:hover {
    color: #fff;
}
/************************************************************
	MENU
************************************************************/
#main-header li a {
    padding: 10px;
    text-transform: uppercase;
    display: inline-block;
    text-decoration: none;
}
body {
    transition: opacity .5s ease-in-out;
}
body.fade-in {
    opacity: 1;
}
#main-header {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1000;
    height: 120px;
    display: flex;
    align-items: center;
    background-image: url(../images/background-motif.jpg);
    background-repeat: repeat;
}
/************************************************************
	FULLSCREEN MENU
************************************************************/
#icon-brand-icon-mobile {
    width: 70px;
}

.aside-section {
    top: 0;
    bottom: 0;
    position: fixed;
    z-index: 1000;
    opacity: 0;
}

.aside-left {
    width: 40%;
    left: 0;
    background-color: #fff;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    transition: all 0.4s ease-in-out;
}

.aside-right {
    width: 100%;
    right: 0;
    background-color: #fff;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    transition: all 0.4s ease-in-out;
}

.aside-list {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 150px;
    text-align: left;
    padding-left: 50px;
}

.aside-list li {
    margin-bottom: 20px;
}

.aside-anchor::after {
    content: "";
    position: absolute;
    bottom: 0;
    background-color: #ff5964;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 3px;
}

.aside-anchor::before {
    border-radius: 3px;
    content: "";
    position: absolute;
    bottom: 0;
    background-color: #fff;
    left: 0;
    height: 3px;
    z-index: 1;
    width: 50%;
    -webkit-transition: transform 0.2s ease-in-out;
    -o-transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
}

.aside-anchor:hover:before {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
}

.aside-anchor {
    padding-bottom: 7px;
    color: #fff;
    text-decoration: none;
    font-size: 30px;
    position: relative;
    font-weight: 500;
}

header#main-menu #input-menu-mobile {
    display: none;
}

/*header#main-menu #input-menu-mobile:checked ~ aside .aside-left {
  transform: translateY(0%);
  opacity: 1;
}
*//* Affichage du menu burger lorsqu'il est ouvert */
header#main-menu #content-burger-menu {
    transform: translateX(100%);
    opacity: 0;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

#content-burger-menu.open {
    transform: translateX(0%);
    opacity: 1;
}

/* Styles pour le bouton burger */
#burger > div {
    min-width: 45px;
}

#burger .bar {
    display: block;
    background-color: #000;
    width: 45px;
    height: 1px;
    border-radius: 5px;
    margin: 8px auto;
    transition: background-color 0.4s ease-in, transform 0.4s ease-in, width 0.4s ease-in;
}

#burger .bar.top.open {
    transform: translate(5px, 8px) rotateZ(45deg);
    width: 35px;
}
#burger .bar.middle.open {
    opacity: 0;
}

#burger .bar.bottom.open {
    transform: translateY(-10px) rotateZ(-45deg);
    width: 35px;
}

#burger:hover .bar {
    background-color: #000;
}

#burger {
    display: inline-block;
    padding: 18px 0px;
    cursor: pointer;
    position: relative;
    z-index: 3000;
    margin: 0px;
    background-color: transparent;
    border: 0px;
    outline: none;
}

#burger span.bar.bottom {
    width: 32px;
    margin-left: auto;
    margin-right: 0px;
}

#main_menu_burger ul.dropdown-menu.show {
    position: static !important;
    transform: none !important;
}

.aside-section.aside-right {
    overflow: auto;
}

.aside-section.aside-right>div {
    min-height: calc(100vh - 135px);
}

#main_menu_burger .dropdown-menu {
    border: 0px;
    padding-top: 0px;
    margin-bottom: .5rem;
}

#main_menu_top>.menu-item-has-children>.sub-menu {
    min-width: 232px;
}

#main_menu_burger li .dropdown-menu a {
    font-size: 1rem;
    background-color: transparent !important;
    border-left: 0px !important;
}

#main_menu_burger .dropdown-toggle::after {
    content: "\f107";
    font-weight: 300;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 5 Pro";
    border: 0px;
    vertical-align: initial;
    margin-left: 1rem;
    position: relative;
    top: 2px;
}

#main_menu_burger li.menu-item.show .dropdown-toggle::after {
    transform: rotate(-180deg);
}

svg#icon-brand-icon-mobile {
    width: 70px;
}

ul#main_menu_burger {
    min-width: 280px;
    margin-top: 55px;
}

.aside-content {
    min-height: calc(100vh - 120px);
    justify-content: space-between;
}

#main_menu_burger .dropdown-menu {
    border: 0px;
    padding-top: 0px;
    margin-bottom: .5rem;
}

aside#content-burger-menu {
    top: 120px;
}

/************************************************************
	MENU PRINCIPAL - SOUS-MENUS
************************************************************/
/* Reset styles de liste pour le menu */
#wp-main-menu-droite {
    list-style: none;
    padding: 0;
    margin: 0;
}

#wp-main-menu-droite li {
    list-style: none;
    position: relative;
}

/* Cacher les sous-menus par défaut */
#wp-main-menu-droite .sub-menu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    padding: 0;
    margin: 0;
    list-style: none;
    z-index: 1000;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s;
}

/* Affichage instantané au hover du parent OU du sous-menu lui-même */
#wp-main-menu-droite .menu-item-has-children:hover > .sub-menu,
#wp-main-menu-droite .sub-menu:hover {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0s, transform 0s, visibility 0s;
}

/* Animation de disparition au déhover - fade vers le bas */
#wp-main-menu-droite .menu-item-has-children:not(:hover) > .sub-menu {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s;
}

/* Style des liens du sous-menu */
#wp-main-menu-droite .sub-menu li {
    border-bottom: 1px solid #f0f0f0;
}

#wp-main-menu-droite .sub-menu li:last-child {
    border-bottom: none;
}

#wp-main-menu-droite .sub-menu a {
    display: block;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

#wp-main-menu-droite .sub-menu a:hover {
    background-color: #f8f8f8;
}

/************************************************************
	HEADER
************************************************************/
/*LOGO*/
img#icon-brand-icon, #footer-logo {
    width: 373px;
    max-width: 100%;
}

/************************************************************
	LINKS & BUTTONS
************************************************************/
a {
    color: #000;
}
.bg-gres a {
    color: #fff;
    text-decoration-line: underline;
    text-decoration-thickness: .04rem!important;
    text-underline-offset: 2px;
}

/************************************************************
	CONTENT - gallery
************************************************************/
.gallery img {
    border: 2px solid #fff !important;
}

/***** IMG IN POST ******/
img.alignright {
    float: right;
    margin: 10px 0 10px 15px
}

img.alignleft {
    float: left;
    margin: 10px 15px 10px 0
}

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

a img.alignright {
    float: right;
    margin: 10px 0 10px 15px
}

a img.alignleft {
    float: left;
    margin: 10px 15px 10px 0
}

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

/************************************************************
	STYLES
************************************************************/
.footer-menu-col ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}
.footer-menu-col a {
    text-decoration: none;
}
.footer-menu-col ul a {
    display: block;
    border-bottom: 1px solid #3c414b;
    padding: 8px 0px;
    padding-right: clamp(2rem, 7vw, 12.5rem); /* L'espace à droite est sur le lien */
    white-space: nowrap; /* Évite le retour à la ligne */
}

/* Espacement pour copyright et signature */
.footer-menu-col .copyright,
.footer-menu-col .signature {
    display: block;
    border-bottom: 1px solid #3c414b;
    padding: 8px 0px;
    padding-right: clamp(2rem, 7vw, 12.5rem);
    white-space: nowrap; /* Évite le retour à la ligne */
}
.footer-menu-col > *:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.container {
    max-width: 94%;
}
.container .container {
    max-width: 100%;
    padding: 0px;
}
/* Footer colonnes avec espacement flexible et responsif */
.footer-menu-container {
    display: flex;
    flex-wrap: wrap; /* Permet le passage à la ligne sur petits écrans */
    gap: clamp(1rem, 1vw, 3rem); /* Espace ENTRE les colonnes */
}

.footer-menu-col {
    flex: 0 1 auto; /* Les colonnes prennent la largeur de leur contenu */
    min-width: 0; /* Permet le rétrécissement si besoin */
}

/* Supprimé car padding maintenant sur les liens individuels */
/* .footer-menu-col:last-child {
    padding-right: 0;
} */
picture.img-fluid img {
    max-width: 100%;
    height: auto;
}
.pt-menu {
    padding-top: 120px;
}
.hero-bg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    animation: hero-reveal-vertical 1.6s cubic-bezier(0.9, 0, 0.1, 1) 0.4s forwards;
}

@keyframes hero-reveal-vertical {
    from {
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
        transform: scale(1.08);
    }
    to {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        transform: scale(1);
    }
}
.mh-100-menu {
    min-height: calc(100vh - 136px);
}
.hero-section-container {
    padding: 0;
    animation: hero-reveal 1.4s cubic-bezier(0.4, 0.0, 0.2, 1) 0.9s forwards;
}

.hero-section {
    border-radius: 0;
    overflow: hidden;
    min-height: calc(100vh - 120px);
    animation: hero-radius 1.4s cubic-bezier(0.4, 0.0, 0.2, 1) 0.9s forwards,
               hero-shrink 1.4s cubic-bezier(0.4, 0.0, 0.2, 1) 0.9s forwards;
}

@keyframes hero-reveal {
    from {
        padding: 0;
    }
    to {
        padding: 0 1rem 1rem 1rem;
    }
}

@keyframes hero-shrink {
    from {
        min-height: calc(100vh - 120px);
    }
    to {
        min-height: calc(100vh - 120px - 2rem);
    }
}

@keyframes hero-radius {
    from {
        border-radius: 0;
    }
    to {
        border-radius: 10px;
    }
}
.letter-spacing-2 {
    letter-spacing: -2%;
}
.small-letter-spacing {
    letter-spacing: -4%;
}
.border-blue {
    border-color: #101a2d!important;
}
#wp-main-menu-gauche li:first-child a {
    padding-left: 0px;
}
#wp-main-menu-droite li:last-child a {
    padding-right: 0px;
}
picture.border-radius img, img.border-radius, .border-radius, .property-featured-image.border-radius img {
    border-radius: 10px;
}
.service-points li {
    padding: 11px 0px;
    border-bottom: 1px solid #00000026;
}
.service-points {
    border-top: 1px solid #00000026;
}
span.point-roman {
    display: inline-block;
    width: 13px;
    text-align: right;
    margin-right: 10px;
}
.service-image-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
}
.service-image-wrapper picture,
.service-image-wrapper .border-radius img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
}
.service-image-wrapper .border-radius img {
    object-fit: cover;
    object-position: center;
}
/* Images des agences en 3/2 */
.agence-image img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: center;
    border-radius: 10px 0px 0px 10px;
}
/* Images courtiers agence - thumbnails carrés */
.agence-courtier-photo img {
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: 10px;
}
/* Infos agence - alignement des valeurs */
.agence-info-row {
    display: flex;
    gap: 1.5rem;
}
.agence-info-titre {
    flex: 0 0 120px;
    opacity: 0.4;
}
.agence-info-valeur {
    flex: 1;
}
/* Overlay gradient du bas vers le milieu */
.service-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, #101A2D99 0%, #101A2D00 50%);
    z-index: 1;
    pointer-events: none;
    border-radius: 10px;
}
/* Blur en dégradé progressif depuis le bas */
.service-image-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    mask-image: linear-gradient(to top, black 0%, transparent 100%);
    -webkit-mask-image: linear-gradient(to top, black 0%, transparent 100%);
    z-index: 1;
    pointer-events: none;
    border-radius: 10px;
}
.btn, .service-link-overlay {
    color: #000;
    text-decoration: none;
    border: 1px solid #000;
    padding: 4px 13px 6px 13px;
    text-transform: uppercase;
    font-size: 17px;
    border-radius: 7px;
    display: inline-flex;
    z-index: 2;
    text-decoration: none!important;
}
.bg-gres .btn {
    color: #fff;
    border: 1px solid #fff;
}
.service-link-overlay {
    position: absolute;
    bottom: 30px;
    right: 30px;
    color: #fff;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 4px 13px 6px 13px;
    text-transform: uppercase;
    font-size: 17px;
    border-radius: 7px;
    display: flex;
    z-index: 2;
}
.service-link-overlay img.icon-btn, .btn img.icon-btn {
    width: 17px;
    margin-right: 10px;
    padding-top: 2px;
}
/* Section Résidentiel */
/* Conteneur flex personnalisé */
.residentiel-flex-container {
    display: flex;
    gap: 1rem; /* équivalent Bootstrap gap-3 */
    width: 100%;
}

.residentiel-flex-item {
    flex: 0 0 50%; /* Par défaut 50% chacun */
    transition: flex 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    border-radius: 10px;
}

/* Au hover d'un item, il grandit à 60% */
.residentiel-flex-item:hover {
    flex: 0 0 60%;
}

/* Quand on hover un item, l'autre se réduit à 40% */
.residentiel-flex-container:has(.residentiel-flex-item:first-child:hover) .residentiel-flex-item:last-child {
    flex: 0 0 40%;
}

.residentiel-flex-container:has(.residentiel-flex-item:last-child:hover) .residentiel-flex-item:first-child {
    flex: 0 0 40%;
}

.residentiel-image-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.residentiel-image-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1; /* Ratio carré en mobile */
}

.residentiel-image-wrapper picture {
    position: absolute;
    top: 0;
    left: 50%;
    width: 120%;
    height: 100%;
    transform: translateX(-50%);
}

.residentiel-image-wrapper picture img,
.residentiel-image-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    transition: transform 0.5s ease;
}

/* Effet de zoom au hover */
.residentiel-image-link:hover .residentiel-image-wrapper img {
    transform: scale(1.08);
}

@media (min-width: 992px) {
    .residentiel-image-wrapper {
        height: 500px;
        aspect-ratio: auto; /* Désactive le ratio carré sur desktop */
    }
}

/* Overlay gradient du bas vers le milieu */
.residentiel-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, #101A2D99 0%, #101A2D00 50%);
    z-index: 1;
    pointer-events: none;
    border-radius: 10px;
}

/* Blur en dégradé progressif depuis le bas */
.residentiel-image-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    mask-image: linear-gradient(to top, black 0%, transparent 100%);
    -webkit-mask-image: linear-gradient(to top, black 0%, transparent 100%);
    z-index: 1;
    pointer-events: none;
    border-radius: 10px;
}

.residentiel-overlay-btn {
    position: absolute;
    bottom: 30px;
    right: 30px;
    color: #fff;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 4px 13px 6px 13px;
    text-transform: uppercase;
    font-size: 17px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    z-index: 2;
    pointer-events: none;
    transition: background-color 0.3s ease;
}

/* Effet hover sur le bouton quand on survole le lien parent */
.residentiel-image-link:hover .residentiel-overlay-btn {
    background-color: rgba(255, 255, 255, 0.246);
}

.residentiel-overlay-btn img.icon-btn {
    width: 17px;
    margin-right: 10px;
}
/************************************************************
	ACCORDÉON PERSONNALISÉ
************************************************************/
.custom-accordion .accordion-item {
    background: #cbccd0;
    border: none;
    border-bottom: 0px solid #000;
        border-radius: 0px !important;
    transition: background 0.4s ease;
}
.custom-accordion .accordion-item.active {
    background: transparent;
}
.custom-accordion .accordion-item:first-child {
    border-top: 0px solid #000;
}
.custom-accordion .accordion-header {
    margin: 0;
}
.custom-accordion .accordion-button {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 20px 0;
    color: #000;
    width: 100%;
    text-align: left;
    transition: opacity 0.4s ease;
}
.custom-accordion .accordion-button:hover {
    background: transparent;
}
.custom-accordion .accordion-button:focus {
    box-shadow: none;
}
.custom-accordion .accordion-button::after {
    display: none;
}
/* Contenu de l'accordéon avec animation d'opacité */
.custom-accordion .accordion-collapse {
    border: none;
}
.custom-accordion .accordion-body {
    padding: 20px 0;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.custom-accordion .accordion-collapse.show .accordion-body {
    opacity: 1;
    transform: translateY(0);
}
/* Script pour gérer les classes actives */
.service-link-overlay:hover, .service-link-overlay:focus, .service-link-overlay:active {
    background-color: rgba(255, 255, 255, 0.246);
    color: #fff;
}
.stat-suffix, .opacity-03 {
    opacity: 0.3;
}
.bg-gres .border-bottom {
    border-color: rgba(255, 255, 255, 0.2)!important;
}
.custom-accordion .border-top {
    border-color: #000!important;
}
/************************************************************
	CARTES EMPILÉES RAPPORTS
************************************************************/
.rapports-stack-container {
    position: relative;
    width: 100%;
}
.rapports-stack {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 390px;
    perspective: 1500px;
}
.rapport-card-stack {
    position: absolute;
    width: 100%;
    height: auto;
    min-height: 100%;
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s ease;
}
.rapport-card-inner {
    width: 100%;
    height: 100%;
    min-height: 390px;
    background: linear-gradient(90deg, #101a2e 0%, #2b4577 100%);
    border-radius: 20px;
    padding: 40px;
display: flex;
    flex-direction: column;
        align-items: start;
    color: #fff;
    position: relative;
    overflow: hidden;
}
/* Date en haut à gauche avec bordure */
.rapport-date {
    padding: 8px 16px;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    border-radius: 5px;
}
/* Footer avec logo et icône */
.rapport-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.rapport-logo img {
    height: 30px;
    width: auto;
    opacity: 0.3;
}
.rapport-download {
    color: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}
.rapport-download:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.1);
    color: #fff;
}
/* États des cartes empilées - centrées verticalement */
.rapport-card-stack.active {
    z-index: 4;
    transform: translateX(0) scale(1);
    opacity: 1;
}
/* Cartes suivantes à droite - 2 maximum */
.rapport-card-stack.stack-1 {
    z-index: 3;
    transform: translateX(30px) scale(0.94);
    opacity: 0.75;
}
.rapport-card-stack.stack-2 {
    z-index: 2;
    transform: translateX(59px) scale(0.88);
    opacity: 0.55;
}
/* Cartes précédentes à gauche - 2 maximum */
.rapport-card-stack.stack--1 {
    z-index: 3;
    transform: translateX(-30px) scale(0.94);
    opacity: 0.75;
}
.rapport-card-stack.stack--2 {
    z-index: 2;
    transform: translateX(-59px) scale(0.88);
    opacity: 0.55;
}
.rapport-card-stack.hidden {
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    display: none;
}
/* Navigation */
.rapports-nav {
    display: flex;
    gap: 1rem;
}
.rapport-nav-btn {
    background: transparent;
    border: 0px solid #000;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}
.rapport-nav-btn svg {
    width: 30px;
    height: 30px;
}

/* Adaptation mobile pour les cartes rapports */
@media (max-width: 991px) {
    .rapport-card-inner {
        padding: 30px;
        min-height: 320px;
    }
    
    /* Réduction des décalages en mobile */
    .rapport-card-stack.stack-1 {
        transform: translateX(15px) scale(0.94);
    }
    .rapport-card-stack.stack-2 {
        transform: translateX(30px) scale(0.88);
    }
    .rapport-card-stack.stack--1 {
        transform: translateX(-15px) scale(0.94);
    }
    .rapport-card-stack.stack--2 {
        transform: translateX(-30px) scale(0.88);
    }
}
.border-secondary {
    border-color: rgba(16, 26, 45, 0.1) !important;
}
a {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.border-white.border-opacity {
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Accordéon mobile pour les filtres */
#filter-mobile-accordeon-button {
    cursor: pointer;
    user-select: none;
}

.filter-accordion-icon {
    transition: transform 0.3s ease;
}

#filter-mobile-accordeon-button.active .filter-accordion-icon {
    transform: rotate(180deg);
}

/* Mobile - filtres cachés par défaut, s'ouvrent au clic */
@media (max-width: 1199px) {
    #filter-mobile-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    #filter-mobile-content.open {
        max-height: 2000px;
    }
}

/* Desktop - toujours visible */
@media (min-width: 1200px) {
    #filter-mobile-content {
        max-height: none !important;
        overflow: visible !important;
    }
}

.filter-item {
        cursor: pointer;
        transition: opacity 0.3s ease;
        opacity: 0.4;
        font-size: 14px;
        line-height: 1.5;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .filter-item.active {
        opacity: 1;
    }

    .filter-item:hover {
        opacity: 0.8;
    }

    .filter-check {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
        fill: currentColor;
    }

    .courtier-item {
        transition: opacity 0.3s ease, display 0.3s ease;
    }

    .courtier-card {
        height: 100%;
    }

    .courtier-photo img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .courtier-info {
        line-height: 1.4;
    }

    /* Modales - z-index élevé pour passer au-dessus de ScrollSmoother GSAP */
    .courtier-modal {
        z-index: 99999 !important;
    }

    .courtier-modal .modal-backdrop {
        z-index: 99998 !important;
    }
    .accordion-item:first-child .border-top {
    display: none;
}
 .timeline-container {
        position: relative;
    }

    .timeline-item {
        display: flex;
        gap: 2rem;
        position: relative;
        padding-bottom: 6rem;
    }

    .timeline-item-last {
        padding-bottom: 0;
    }

    .timeline-marker {
        position: relative;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .timeline-dot {
        width: 4px;
        height: 4px;
        background-color: #000;
        border-radius: 50%;
        position: relative;
        z-index: 2;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        cursor: pointer;
    }
    
    .timeline-dot:hover {
        transform: scale(2.5);
        box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1);
    }

    .timeline-line {
        width: 1px;
        flex-grow: 1;
        background-color: #000;
        margin-top: 0;
        min-height: 100%;
        position: absolute;
        top: 2px;
        left: 50%;
        transform: translateX(-50%);
        bottom: -6rem;
        transform-origin: top center;
    }

    .timeline-content {
        flex: 1;
        padding-top: 0;
    }

    .timeline-date {
        line-height: 1.1;
    }

    .timeline-info {
        color: rgba(0, 0, 0, 0.7);
    }

    /* Responsive */
    @media (max-width: 768px) {
        .timeline-item {
            gap: 1rem;
        }

        .timeline-line {
            bottom: -2rem;
        }
    }
    .opacity-05 {
        opacity: 0.5;
    }
    .opacity-085 {
        opacity: 0.85;
    }
.pagination {
    justify-content: center;
}
.img-fluid img {
    max-width: 100%;
    width: 100%;
    height: auto;
}
.agence-courtier-item:first-child {
    margin-top: 0px !important;
}
.property-list-item__image.conseil {
    min-height: initial;
}
.realforce_infoWindow.fade.top.in {
    opacity: 1;
}
.gm-style img {
    max-width: 100%;
}
.gm-style-iw-chr {
    display: none;
}
.gm-style-iw {
    padding: 0px !important;
}
.gm-style-iw-d {
    padding: 0px !important;
    overflow: auto !important;
}
.realforce_infoWindow a {
    text-decoration: none !important;
}
p.realforce_popover__message {
    font-size: 16px;
    font-family: 'graphikmedium';
}
.realforce_infoWindow .realforce_popover__container {
    padding: 10px 20px !important;
}
#main_menu_burger a {
    text-decoration: none;
    text-transform: uppercase;
    padding: 5px 0px;
    display: block;
    font-size:clamp(1.25rem, 2.75vw, 3.85rem)
}
#main_menu_burger ul.children {
    padding: 0px;
    list-style-type: none;
}
.gap-1 {
    gap: 5px !important;
}
.realforce_container-fluid__map.active {
    display: block;
}
.property-list-item__image {
	min-height: 350px;
}
.country-selector.weglot-inline.weglot-default, .country-selector.weglot-default {
    right: 0px;
    bottom: 90px;
    background: #ffffff;
    border-radius: 5px 0px 0px 5px;
    padding: 10px 1px;
}
.wgcurrent {
    display: none !important;
}
.weglot-flags>a:before, .weglot-flags>span.wglanguage-name:before {
    margin-right: 0px;
}
.btn-small.btn {
    font-size: 14px;
    padding: 2px 9px 4px 9px;
}
.btn-small.btn img {
    width: 14px;
}
/************************************************************
	MEDIAS QUERIES
************************************************************/
@media (min-width: 576px) {
    .w-sm-auto{width:auto!important}
    .font-size-sm-1{font-size:.6rem!important}
    .font-size-sm-2{font-size:.7rem!important}
    .font-size-sm-3{font-size:.9rem!important}
    .font-size-sm-3-5{font-size:1rem!important}
    .font-size-sm-4{font-size:1.15rem!important}
    .font-size-sm-5{font-size:1.3rem!important}
    .font-size-sm-6{font-size:1.45rem!important}
    .font-size-sm-7{font-size:1.6rem!important}
    .font-size-sm-7-5{font-size:1.9rem!important}
    .font-size-sm-8{font-size:2.2rem!important}
    .font-size-sm-9{font-size:2.75rem!important}
    .font-size-sm-10{font-size:3rem!important}
    .font-size-sm-11{font-size:3.75rem!important}
    .font-size-sm-12{font-size:4.4rem!important}
    .font-size-sm-13{font-size:5rem!important}
    .font-size-sm-14{font-size:6rem!important}
    .font-size-vw-sm-1{font-size:.3vw!important}
    .font-size-vw-sm-2{font-size:.7vw!important}
    .font-size-vw-sm-3{font-size:1vw!important}
    .font-size-vw-sm-3-5{font-size:1.3vw!important}
    .font-size-vw-sm-4{font-size:1.7vw!important}
    .font-size-vw-sm-5{font-size:2vw!important}
    .font-size-vw-sm-6{font-size:2.3vw!important}
    .font-size-vw-sm-7{font-size:2.7vw!important}
    .font-size-vw-sm-8{font-size:3vw!important}
    .font-size-vw-sm-9{font-size:3.3vw!important}
    .font-size-vw-sm-10{font-size:3.7vw!important}
    .font-size-vw-sm-11{font-size:4vw!important}
    .font-size-vw-sm-13{font-size:5vw!important}
    .font-size-vw-sm-14{font-size:6vw!important}
    .show-br-sm br{display:initial}
    .container-fluid-left-align{padding-left:calc((100% - 540px) / 2 + 12px)}
    .container-fluid-right-align{padding-right:calc((100% - 540px) / 2 + 12px)}
    }
    @media (min-width: 768px) {
    .font-size-md-1{font-size:.6rem!important}
    .font-size-md-2{font-size:.7rem!important}
    .font-size-md-3{font-size:.9rem!important}
    .font-size-md-3-5{font-size:1rem!important}
    .font-size-md-4{font-size:1.15rem!important}
    .font-size-md-5{font-size:1.3rem!important}
    .font-size-md-6{font-size:1.45rem!important}
    .font-size-md-7{font-size:1.6rem!important}
    .font-size-md-7-5{font-size:1.9rem!important}
    .font-size-md-8{font-size:2.2rem!important}
    .font-size-md-9{font-size:2.75rem!important}
    .font-size-md-10{font-size:3rem!important}
    .font-size-md-11{font-size:3.75rem!important}
    .font-size-md-12{font-size:4.4rem!important}
    .font-size-md-13{font-size:5rem!important}
    .font-size-md-14{font-size:6rem!important}
    .font-size-vw-md-1{font-size:.3vw!important}
    .font-size-vw-md-2{font-size:.7vw!important}
    .font-size-vw-md-3{font-size:1vw!important}
    .font-size-vw-md-3-5{font-size:1.3vw!important}
    .font-size-vw-md-4{font-size:1.7vw!important}
    .font-size-vw-md-5{font-size:2vw!important}
    .font-size-vw-md-6{font-size:2.3vw!important}
    .font-size-vw-md-7{font-size:2.7vw!important}
    .font-size-vw-md-8{font-size:3vw!important}
    .font-size-vw-md-9{font-size:3.3vw!important}
    .font-size-vw-md-10{font-size:3.7vw!important}
    .font-size-vw-md-11{font-size:4vw!important}
    .font-size-vw-md-13{font-size:5vw!important}
    .font-size-vw-md-14{font-size:6vw!important}
    .show-br-md br{display:initial}
    .w-md-85{width:85%!important}
    .container-fluid-left-align{padding-left:calc((100% - 720px) / 2 + 12px)}
    .container-fluid-right-align{padding-right:calc((100% - 720px) / 2 + 12px)}
    .property-list-item__image {
    min-height: 450px;
}
    }
    @media (min-width: 992px) {
    .font-size-lg-1{font-size:.6rem!important}
    .font-size-lg-2{font-size:.7rem!important}
    .font-size-lg-3{font-size:.9rem!important}
    .font-size-lg-3-5{font-size:1rem!important}
    .font-size-lg-4{font-size:1.15rem!important}
    .font-size-lg-5{font-size:1.3rem!important}
    .font-size-lg-6{font-size:1.45rem!important}
    .font-size-lg-7{font-size:1.6rem!important}
    .font-size-lg-7-5{font-size:1.9rem!important}
    .font-size-lg-8{font-size:2.2rem!important}
    .font-size-lg-9{font-size:2.75rem!important}
    .font-size-lg-10{font-size:3rem!important}
    .font-size-lg-11{font-size:3.75rem!important}
    .font-size-lg-12{font-size:4.4rem!important}
    .font-size-lg-13{font-size:5rem!important}
    .font-size-lg-14{font-size:6rem!important}
    .font-size-vw-lg-1{font-size:.3vw!important}
    .font-size-vw-lg-2{font-size:.7vw!important}
    .font-size-vw-lg-3{font-size:1vw!important}
    .font-size-vw-lg-3-5{font-size:1.3vw!important}
    .font-size-vw-lg-4{font-size:1.7vw!important}
    .font-size-vw-lg-5{font-size:2vw!important}
    .font-size-vw-lg-6{font-size:2.3vw!important}
    .font-size-vw-lg-7{font-size:2.7vw!important}
    .font-size-vw-lg-8{font-size:3vw!important}
    .font-size-vw-lg-9{font-size:3.3vw!important}
    .font-size-vw-lg-10{font-size:3.7vw!important}
    .font-size-vw-lg-11{font-size:4vw!important}
    .font-size-vw-lg-13{font-size:5vw!important}
    .font-size-vw-lg-14{font-size:6vw!important}
    .show-br-lg br{display:initial}
    .container-fluid-left-align{padding-left:calc((100% - 960px) / 2 + 12px)}
    .container-fluid-right-align{padding-right:calc((100% - 960px) / 2 + 12px)}
    .pl-lg-3percent {padding-left:3vw!important}
    }
    @media(min-width:1200px) {
    .grid-container{max-width:90%}
    .font-size-xl-1{font-size:.6rem!important}
    .font-size-xl-2{font-size:.7rem!important}
    .font-size-xl-3{font-size:.9rem!important}
    .font-size-xl-3-5{font-size:1rem!important}
    .font-size-xl-4{font-size:1.15rem!important}
    .font-size-xl-5{font-size:1.3rem!important}
    .font-size-xl-6{font-size:1.45rem!important}
    .font-size-xl-7{font-size:1.6rem!important}
    .font-size-xl-8{font-size:2.2rem!important}
    .font-size-xl-9{font-size:2.75rem!important}
    .font-size-xl-10{font-size:3rem!important}
    .font-size-xl-11{font-size:3.75rem!important}
    .font-size-xl-13{font-size:5rem!important}
    .font-size-xl-14{font-size:6rem!important}
    .font-size-vw-xl-1{font-size:.3vw!important}
    .font-size-vw-xl-2{font-size:.7vw!important}
    .font-size-vw-xl-3{font-size:1vw!important}
    .font-size-vw-xl-3-5{font-size:1.3vw!important}
    .font-size-vw-xl-4{font-size:1.7vw!important}
    .font-size-vw-xl-5{font-size:2vw!important}
    .font-size-vw-xl-6{font-size:2.3vw!important}
    .font-size-vw-xl-7{font-size:2.7vw!important}
    .font-size-vw-xl-8{font-size:3vw!important}
    .font-size-vw-xl-9{font-size:3.3vw!important}
    .font-size-vw-xl-10{font-size:3.7vw!important}
    .font-size-vw-xl-11{font-size:4vw!important}
    .font-size-vw-xl-13{font-size:5vw!important}
    .font-size-vw-xl-14{font-size:6vw!important}
    .show-br-xl br{display:initial}
    .container-big{max-width:75%;min-width:1140px}
    .container-fluid-left-align{padding-left:calc((100% - 1140px) / 2 + 12px)}
    .container-fluid-right-align{padding-right:calc((100% - 1140px) / 2 + 12px)}
    }
    @media(min-width:1400px) {
        .container-fluid-left-align{padding-left:calc((100% - 1320px) / 2 + 12px)}
        .container-fluid-right-align{padding-right:calc((100% - 1320px) / 2 + 12px)}
        }
    @media(min-width:1550px) {
    .font-size-xxl-1{font-size:.6rem!important}
    .font-size-xxl-2{font-size:.7rem!important}
    .font-size-xxl-3{font-size:.9rem!important}
    .font-size-xxl-3-5{font-size:1rem!important}
    .font-size-xxl-4{font-size:1.15rem!important}
    .font-size-xxl-5{font-size:1.3rem!important}
    .font-size-xxl-6{font-size:1.45rem!important}
    .font-size-xxl-7{font-size:1.6rem!important}
    .font-size-xxl-7-5{font-size:1.9rem!important}
    .font-size-xxl-8{font-size:2.2rem!important}
    .font-size-xxl-8-5{font-size:2.47rem!important}
    .font-size-xxl-9{font-size:2.75rem!important}
    .font-size-xxl-10{font-size:3rem!important}
    .font-size-xxl-11{font-size:3.75rem!important}
    .font-size-xxl-12{font-size:4.4rem!important}
    .font-size-xxl-13{font-size:5rem!important}
    .font-size-xxl-14{font-size:6rem!important}
    .font-size-vw-xxl-1{font-size:.3vw!important}
    .font-size-vw-xxl-2{font-size:.7vw!important}
    .font-size-vw-xxl-3{font-size:1vw!important}
    .font-size-vw-xxl-3-5{font-size:1.3vw!important}
    .font-size-vw-xxl-4{font-size:1.7vw!important}
    .font-size-vw-xxl-5{font-size:2vw!important}
    .font-size-vw-xxl-6{font-size:2.3vw!important}
    .font-size-vw-xxl-7{font-size:2.7vw!important}
    .font-size-vw-xxl-8{font-size:3vw!important}
    .font-size-vw-xxl-9{font-size:3.3vw!important}
    .font-size-vw-xxl-10{font-size:3.7vw!important}
    .font-size-vw-xxl-11{font-size:4vw!important}
    .font-size-vw-xxl-13{font-size:5vw!important}
    .font-size-vw-xxl-14{font-size:6vw!important}
    }

@media(max-width:1200px) {
    img#icon-brand-icon, #footer-logo {
    width: 300px;
    }
    #main-header li a {
        padding: 10px 7px;
        font-size: 13px;
    }

    .property-results-info {
        margin-bottom: 0px;
        padding-bottom: 0px;
    }
}

@media(max-width:992px) {
    .footer-menu-container {
        flex-direction: column;
        gap: 0; /* Pas de gap en mode colonne */
    }
    
    .footer-menu-col ul a,
    .footer-menu-col .copyright,
    .footer-menu-col .signature {
        padding-right: 0; /* Pas d'espace à droite sur mobile */
        white-space: normal; /* Permet le retour à la ligne sur mobile si nécessaire */
    }
    .footer-menu-col:last-child {
        padding-bottom: 0;
    }
    .footer-menu-col {
    margin-top: -1px;
    }
    .footer-menu-col .copyright, .footer-menu-col .signature {
        border-bottom: 0px solid #3c414b;
    }
    .footer-menu-col > *:first-child {
    border-top: 1px solid #3c414b;
    }
    ul#menu-footer-colonne-1 {
    border-top: 1px solid #3c414b;
}
.property-sidebar {
    border-right: 0px !important;
    border-bottom: 1px  solid #101a2d !important;
    padding-bottom: 20px;
}
}

@media(max-width:768px) {
        .residentiel-flex-container {
        flex-direction: column;
    }
    
    .residentiel-flex-item {
        flex: 1 1 100% !important;
    }
    .agence-info-titre {
    flex: 0 0 0px;
    }
    .agence-info-row {
        display: flex;
        gap: 0.5rem;
    }
}

@media(max-width:576px) {
    a#icon-brand-link {
        max-width: calc(100% - 80px);
    }
    #main-header {
    height: 94px;
    }
    aside#content-burger-menu {
    top: 94px;
    }
    .pt-menu {
        padding-top: 94px;
    }
}

@media(max-width:400px) {
.property-view-btn {
    padding: 7px 15px 7px 11px;
    font-size: 11px;
}
.font-size-xs-1{font-size:.6rem!important}
.font-size-xs-2{font-size:.7rem!important}
.font-size-xs-2-5{font-size:.8rem!important}
.font-size-xs-3{font-size:.9rem!important}
.font-size-xs-3-5{font-size:1rem!important}
.font-size-xs-4{font-size:1.15rem!important}
.font-size-xs-5{font-size:1.3rem!important}
.font-size-xs-6{font-size:1.45rem!important}
.property-list-item__content {
    padding: 20px;
}

.agence-courtier-photo img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
}
.page-id-403 .font-size-vw-12 {
    font-size: clamp(2rem, 4.4vw, 6.15rem) !important;
}
}

/************************************************************
	SWITCH MENU BURGER
************************************************************/
#col-burger {
    display: flex;
}

.main-menus {
    display: none;
}

@media(min-width:992px) {
    #col-burger {
        display: none!important;
    }

    .main-menus {
        display: flex!important;
    }
}

/************************************************************
	END SWITCH MENU BURGER
************************************************************/