/************************************************************
	FONTS
************************************************************/
body {
    font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    color: #000;
}
.font-serif {
    font-family: "IBM Plex Mono", monospace;
}
/************************************************************
	HELPER CLASS
************************************************************/
.font-weight-300{font-weight:300!important}
.font-weight-400{font-weight:400!important}
.font-weight-500{font-weight:500!important}
.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(2rem, 3.75vw, 5.25rem)!important}
.font-size-vw-12{font-size:clamp(2.3rem, 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-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}
.font-color-black-50{color:rgba(0, 0, 0, 0.5)!important}
.font-color-black-30{color:rgba(0, 0, 0, 0.3)!important}
.link-no-color{color:initial}
.font-color-green{color:#2A6D32!important}
.font-color-yellow{color:#ffbc00!important}
.font-color-red{color:#ea3929!important}
.bg-yellow {background-color:#FCDD18!important}
.bg-link{background-color:#128488!important}
.bg-black{background-color:#000!important}
.bg-black-40{background-color:rgba(0, 0, 0, 0.4)!important}
.bg-white{background-color:#fff!important}
.bg-white-40{background-color:rgba(255, 255, 255, 0.4)!important}
.bg-grey-0{background-color:#f8f8f8!important}
.bg-grey-1{background-color:#e9e9e9!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-primary,.background-primary{background-color:#ffc700!important}
.bg-pro,.background-pro{background-color:#00a0de!important}
.bg-green{background-color:#2A6D32!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;
  }
/************************************************************
	FOOTER BOTTOM
************************************************************/
.site-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-content {
    flex: 1;
}
/************************************************************
	COLORS
************************************************************/
a:focus,
a:hover {
    color: #000;
}
/************************************************************
	MENU
************************************************************/
#main-header li a {
    padding: 10px 24px;
    display: inline-block;
    text-decoration: none;
    font-size: 15px;
    color: #2A6D32;
}
.home #main-header li a {
    color: #fff;
}
.home #main-header.scrolled li a {
    color: #2A6D32;
}
.home #main-header {
    background-color: transparent;
}
#main-header.scrolled, #main-header {
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
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: 100px;
    display: flex;
    align-items: center;
    transition: background-color 0.3s ease;
}


/************************************************************
	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(0px, 8px) rotateZ(45deg);
    width: 45px;
}
#burger .bar.middle.open {
    opacity: 0;
}

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

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

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

#burger:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

#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 a {
    font-size: 1.8rem;
    color: #ffffff;
    text-align: center;
}

#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 {
    list-style: none;
    padding: 0;
    margin: 0;
}

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

/* Cacher les sous-menus par défaut */
#wp-main-menu .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 .menu-item-has-children:hover > .sub-menu,
#wp-main-menu .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 .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 .sub-menu li {
    border-bottom: 1px solid #f0f0f0;
}

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

#wp-main-menu .sub-menu a {
    display: block;
    color: #2A6D32!important;
    padding: 9px 20px;
    font-size: 13px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

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

/************************************************************
	HEADER
************************************************************/
/*LOGO*/
#icon-brand-icon img {
    height: 100px;
    padding: 10px 0px;
}

/************************************************************
	LINKS & BUTTONS
************************************************************/
a {
    color: #000;
}

/************************************************************
	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
************************************************************/
.header-telephone {
    background: #FCDD18;
    text-decoration: none;
    max-width: 145px;
    height: 106px;
    position: relative;
    top: 3px;
    padding: 10px 25px;
    overflow: hidden;
    z-index: 1;
    transition: color 0.4s ease;
}

.header-telephone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #2A6D32;
    z-index: -1;
    transition: height 0.4s ease;
}

.header-telephone:hover {
    color: #fff !important;
}

.header-telephone:hover::before {
    height: 100%;
}

/* Services Items - Carrés avec coins décoratifs */
.service-item {
    position: relative;
    aspect-ratio: 1 / 1;
    padding: 20px;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Icône du service */
.service-item-icone {
    position: relative;
}

/* Image cible au hover */
.service-item:hover .service-item-icone::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 160%;
    height: 160%;
    background-image: url('../images/cible.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Coin haut gauche */
.service-item .corner-top-left::before,
.service-item .corner-top-left::after {
    content: '';
    position: absolute;
    background-color: #D0D0D0;
}
.service-item .corner-top-left::before {
    /* Trait vertical */
    width: 1px;
    height: 25px;
    left: 0;
    top: 4px;
}
.service-item .corner-top-left::after {
    /* Trait horizontal */
    width: 25px;
    height: 1px;
    left: 4px;
    top: -1px;
}

/* Coin haut droit */
.service-item .corner-top-right::before,
.service-item .corner-top-right::after {
    content: '';
    position: absolute;
    background-color: #D0D0D0;
}
.service-item .corner-top-right::before {
    /* Trait vertical */
    width: 1px;
    height: 25px;
    right: -1px;
    top: 4px;
}
.service-item .corner-top-right::after {
    /* Trait horizontal */
    width: 25px;
    height: 1px;
    right: 4px;
    top: -1px;
}

/* Coin bas gauche */
.service-item .corner-bottom-left::before,
.service-item .corner-bottom-left::after {
    content: '';
    position: absolute;
    background-color: #D0D0D0;
}
.service-item .corner-bottom-left::before {
    /* Trait vertical */
    width: 1px;
    height: 25px;
    left: 0;
    bottom: 4px;
}
.service-item .corner-bottom-left::after {
    /* Trait horizontal */
    width: 25px;
    height: 1px;
    left: 4px;
    bottom: 0;
}

/* Coin bas droit */
.service-item .corner-bottom-right::before,
.service-item .corner-bottom-right::after {
    content: '';
    position: absolute;
    background-color: #D0D0D0;
}
.service-item .corner-bottom-right::before {
    /* Trait vertical */
    width: 1px;
    height: 25px;
    right: -1px;
    bottom: 4px;
}
.service-item .corner-bottom-right::after {
    /* Trait horizontal */
    width: 25px;
    height: 1px;
    right: 4px;
    bottom: 0;
}

/* Enlever les gaps entre les items */
.section-services .row {
    gap: 0 !important;
}

.section-services .col-6,
.section-services .col-md-4,
.section-services .col-lg-3 {
    padding: 0;
}
img.img-bg, .img-bg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.avantage-icone img {
    max-width: 50px;
}
.mnh-100vh {
    min-height: calc(100vh - 100px);
}

.link-default {
    font-family: "IBM Plex Mono", "IBM Plex Sans", monospace;
    font-feature-settings: 'ss03' on;
    text-transform: uppercase;
    text-underline-offset: 3px;
    text-decoration-thickness: 0.05em;
    text-decoration-line: underline;
    font-weight: 400;
    font-size: 1.2rem;
    border: 0;
    background: 0;
    padding: 0;
}
.link-default svg {
    margin-left: 10px;
    transition: all ease-in-out .3s;
}
.font-color-white .link-default svg *, .link-default.font-color-white svg * {
    fill: #fff !important;
}
.link-default:hover svg {
    margin-left: 20px;
}
.cta-card {
    transition: all ease-in-out .3s;
}
.cta-card:hover {
    transform: translate(0px, -10px);
}
.mega-button {
    text-decoration: none;
}
.mega-button span {
    background: #FCDD18;
    display: inline-block;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    padding: 20px 20px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.4s ease;
}
.mega-button span::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #2A6D32;
    z-index: -1;
    transition: width 0.4s ease;
}
.mega-button:hover span {
    color: #fff;
}
.mega-button:hover span::before {
    width: 100%;
}
.mega-button .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 7px 17px;
    width: 60px;
}
.mega-button .icon svg {
    position: relative;
    left: 0;
    transition: left 0.4s ease;
}
.mega-button:hover .icon svg {
    left: 5px;
}
/* Overlay dégradé pour section CTA simple */
.section-cta-simple::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.4), rgba(0,0,0,0));
    z-index: 1;
}

/* Section Articles - Slider */
.section-articles .section-titre {
    font-size: 2rem;
    font-weight: 600;
}

.articles-slider-arrows {
    gap: 1rem;
}

.articles-slider-arrows button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.articles-slider-arrows .arrow-prev {
    background-color: #D0D0D0;
    color: #2A6D32;
}

.articles-slider-arrows .arrow-prev:hover {
    background-color: #B0B0B0;
}

.articles-slider-arrows .arrow-next {
    background-color: #FCDD18;
    color: #2A6D32;
}

.articles-slider-arrows .arrow-next:hover {
    background-color: #E5C615;
}

.articles-slider {
    overflow: hidden;
}

.articles-slider .slick-list {
    overflow: visible;
    margin: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.articles-slider .slick-track {
    display: flex;
    margin-left: 0 !important;
}

.articles-slider .slick-slide {
    margin: 0 10px 0 0;
    height: auto;
}

.articles-slider .slick-slide:first-child {
    margin-left: 0;
}

.articles-slider .slick-slide > div {
    height: 100%;
}

/* Cacher les flèches par défaut de slick (on utilise les custom) */
.articles-slider .slick-arrow {
    display: none !important;
}

.article-card {
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.article-card .article-image {
    overflow: hidden;
    aspect-ratio: 16/10;
}

.article-card .article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.article-card:hover .article-image img {
    transform: scale(1.05);
}

.article-card .article-content {
    padding: 20px 0px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.article-card .article-meta {
    font-size: 0.75rem;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 400;
}

.article-card .article-titre {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
}

.article-card .article-titre a {
    color: #000;
    text-decoration: none;
    transition: color 0.3s ease;
}

.article-card .article-titre a:hover {
    color: #2A6D32;
}

.article-card .article-excerpt {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #666;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-card .article-link {
    font-size: 0.9rem;
    font-weight: 600;
    color: #2A6D32;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: auto;
}

.article-card .article-link:hover {
    text-decoration: underline;
}
.slick-list {
    padding: 0 20% 0 0 !important;
}
.footer-logos img {
    max-width: 90px;
    max-height: 47px;
    object-fit: contain;
    width: 100%;
}
picture#logo-footer img {
    width: 100%;
    max-width: 120px;
}
.footer-menu a {
    display: block;
    text-decoration: none;
    padding: 5px 0px;
}
.title-section img {
    max-width: 80px;
    width: 100%;
}
.pt-menu {
    padding-top: 100px;
}
.commun-banner {
    min-height: 50vh;
}
.title-section > div {
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.content-max-width {
    max-width: 700px;
}
.wp-content h2, .wp-content h3, .wp-content h4, .wp-content h5, .wp-content h6 {
    font-weight: 700;
    font-size: 15px;
    margin-top: 20px;
}

/* Galerie commune */
.commun-galerie {
    background-color: #f8f8f8;
}

.commun-galerie-grid .col-6,
.commun-galerie-grid .col-md-4,
.commun-galerie-grid .col-lg-3 {
    padding: 0.5rem;
}

.commun-galerie-item {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 4px;
    text-decoration: none;
}

.commun-galerie-picture {
    display: block;
    width: 100%;
    height: 100%;
}

.commun-galerie-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.commun-galerie-item:hover .commun-galerie-img {
    transform: scale(1.05);
}

.commun-galerie-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(42, 109, 50, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.commun-galerie-item:hover .commun-galerie-overlay {
    opacity: 1;
}

.commun-galerie-overlay svg {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

/* Style personnalisé pour GLightbox */
.glightbox-clean .gslide-description {
    background: rgba(0, 0, 0, 0.8);
}

.glightbox-clean .gslide-title {
    color: #fff;
    font-family: "IBM Plex Sans", sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
}
.wp-content img {
    max-width: 100%;
    height: auto;
}

/* Sidebar Articles */
.sidebar-articles {
    padding: 20px;
}

.sidebar-articles-titre {
    color: #000;
}

.sidebar-article-item {
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 15px;
}

.sidebar-article-item:last-child {
    border-bottom: none;
}

.sidebar-article-image {
    width: 110px;
    height: 110px;
    overflow: hidden;
}

.sidebar-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sidebar-article-item:hover .sidebar-article-image img {
    transform: scale(1.1);
}

.sidebar-article-content {
    flex: 1;
}

.sidebar-article-title a {
    color: #000;
    font-weight: 500;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.sidebar-article-title a:hover {
    color: #2A6D32;
}

/* Pagination */
.blog-pagination ul.page-numbers {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.blog-pagination li {
    list-style: none;
}

.blog-pagination a.page-numbers,
.blog-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 10px 15px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    background-color: #2A6D32;
    color: #fff;
}

.blog-pagination span.page-numbers.current {
    background-color: #FCDD18;
    color: #000;
}

.blog-pagination a.page-numbers:hover {
    background-color: #FCDD18;
    color: #000;
}

.blog-pagination a.page-numbers.prev,
.blog-pagination a.page-numbers.next {
    background-color: transparent;
    color: #2A6D32;
    text-decoration: underline;
    min-width: auto;
}

.blog-pagination a.page-numbers.prev:hover,
.blog-pagination a.page-numbers.next:hover {
    background-color: transparent;
    color: #000;
}

.custom-accordion .accordion-item {
    background: #F2F2F2;
    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;
}
.link-rs {
    background: white;
    width: 30px;
    height: 30px;
}
.link-rs {
    background: white;
    width: 40px;
    height: 40px;
    border: 2px solid #FCDD18;
    border-radius: 999px;
    color: #2A6D32;
}
.link-rs:hover {
    background: #FCDD18;
    color: #2A6D32;
}
/************************************************************
	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)}
    }
    @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)}
    }
    @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) {}

@media(max-width:992px) {}

@media(max-width:768px) {}

@media(max-width:576px) {}

@media(max-width:400px) {}

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

#navbar {
    display: none;
}

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

    #navbar {
        display: flex!important;
    }
}

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