.elementor-kit-6{--e-global-color-primary:#345464;--e-global-color-secondary:#D7C49F;--e-global-color-text:#343935;--e-global-color-accent:#F07956;--e-global-color-2431ae7:#FFFFFF;--e-global-color-7103bb7:#000000;--e-global-color-de3ebc6:#EDEAE5;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:3.9rem;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:4.1rem;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:1.5rem;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:2rem;--e-global-typography-secondary-letter-spacing:6px;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:1.1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.8rem;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-a836159-font-family:"Playfair Display";--e-global-typography-a836159-font-size:6.8rem;--e-global-typography-a836159-font-weight:400;--e-global-typography-a836159-text-transform:uppercase;--e-global-typography-a836159-line-height:4.3rem;--e-global-typography-208497e-font-family:"Poppins";--e-global-typography-208497e-font-size:0.9rem;--e-global-typography-208497e-font-weight:600;--e-global-typography-208497e-line-height:1.3rem;--e-global-typography-208497e-letter-spacing:6px;--e-global-typography-a9ceacc-font-family:"Playfair Display";--e-global-typography-a9ceacc-font-size:2.9rem;--e-global-typography-a9ceacc-font-weight:200;--e-global-typography-a9ceacc-text-transform:capitalize;--e-global-typography-a9ceacc-line-height:3rem;--e-global-typography-711002e-font-family:"Playfair Display";--e-global-typography-711002e-font-size:5.5rem;--e-global-typography-711002e-font-weight:200;--e-global-typography-711002e-text-transform:capitalize;--e-global-typography-711002e-line-height:5.4rem;--e-global-typography-eae6050-font-size:4.3rem;--e-global-typography-eae6050-font-weight:200;--e-global-typography-eae6050-text-transform:capitalize;--e-global-typography-eae6050-line-height:4.2rem;--e-global-typography-44737f6-font-family:"Poppins";--e-global-typography-44737f6-font-size:1.25rem;--e-global-typography-44737f6-font-weight:500;--e-global-typography-df089bc-font-family:"Playfair Display";--e-global-typography-df089bc-font-size:1.4rem;--e-global-typography-df089bc-font-weight:200;--e-global-typography-df089bc-text-transform:uppercase;--e-global-typography-df089bc-line-height:1.5rem;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:77vw;}.e-con{--container-max-width:77vw;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1700px){.elementor-kit-6{--e-global-typography-primary-font-size:2.7rem;--e-global-typography-primary-line-height:2.7rem;--e-global-typography-secondary-font-size:1rem;--e-global-typography-secondary-line-height:1rem;--e-global-typography-text-font-size:0.9rem;--e-global-typography-text-line-height:1.3rem;--e-global-typography-a836159-font-size:3.1rem;--e-global-typography-a836159-line-height:3.1rem;--e-global-typography-208497e-font-size:0.8rem;--e-global-typography-208497e-line-height:0.9rem;--e-global-typography-a9ceacc-font-size:2rem;--e-global-typography-a9ceacc-line-height:2rem;--e-global-typography-711002e-font-size:2.8rem;--e-global-typography-711002e-line-height:2.8rem;--e-global-typography-eae6050-font-size:2.4rem;--e-global-typography-eae6050-line-height:2.4rem;--e-global-typography-44737f6-font-size:0.9rem;--e-global-typography-44737f6-line-height:0.9rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:85vw;}.e-con{--container-max-width:85vw;}}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-df089bc-font-size:1.1rem;--e-global-typography-df089bc-line-height:1.1rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90vw;}.e-con{--container-max-width:90vw;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:1.3rem;--e-global-typography-primary-line-height:1.4rem;--e-global-typography-secondary-font-size:0.6rem;--e-global-typography-secondary-line-height:0.6rem;--e-global-typography-secondary-letter-spacing:2px;--e-global-typography-text-font-size:0.6rem;--e-global-typography-text-line-height:1.2rem;--e-global-typography-a836159-font-size:2rem;--e-global-typography-a836159-line-height:1rem;--e-global-typography-208497e-font-size:0.8rem;--e-global-typography-208497e-line-height:0.8rem;--e-global-typography-a9ceacc-font-size:1rem;--e-global-typography-a9ceacc-line-height:1rem;--e-global-typography-711002e-font-size:1.3rem;--e-global-typography-711002e-line-height:1.3rem;--e-global-typography-eae6050-font-size:1.2rem;--e-global-typography-eae6050-line-height:1.2rem;--e-global-typography-44737f6-font-size:0.8rem;--e-global-typography-44737f6-line-height:0.9rem;--e-global-typography-df089bc-font-size:1rem;--e-global-typography-df089bc-line-height:1rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:95vw;}.e-con{--container-max-width:95vw;}}/* Start custom CSS *//*-----GÉNÉRAL------*/
.pointer {cursor: pointer;}
#cmplz-document{
    max-width:100%!important;
}

/* Sticky header : forcer la pleine largeur (bug de largeur figée quand la barre admin est présente) */
.header-ordi.elementor-sticky--active {
  width: 100% !important;
  left: 0 !important;
  inset-inline-start: 0 !important;
}
.texte-meddon{
    font-family:  "Meddon", cursive;
    text-transform:lowercase!important;
}
.color-dore{color:#D7C49F;}

.liste-icone-blanc .elementor-icon-list-item .elementor-icon-list-icon svg path{
    stroke:#FFF!important;
}

/* 1. Règles communes à toutes les variantes */
[class*="text-anim"] {
    visibility: hidden;
}

/* Force les mots et caractères découpés à hériter de la typographie d'Elementor */
[class*="text-anim"] .word,
[class*="text-anim"] .char {
    text-transform: inherit;
}

[class*="text-anim"] .word {
    overflow: hidden;
    display: inline-block;
}

/* 2. Ajustements spécifiques de padding */
.text-anim .word {
    padding-bottom: 5px;
}

.text-anim-1 .word {
    padding-bottom: 15px;
}

/* 3. FIX ELEMENTOR EDITOR */
.elementor-editor-active [class*="text-anim"],
.elementor-editor-active [class*="text-anim"] * {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: visible !important;
}

/*FOOTER BACK TO TOP*/
/* Animation de rebond vertical */
@keyframes bounceUp {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0) rotate(var(--e-transform-rotateZ, 0deg));
    }
    40% {
        transform: translateY(-10px) rotate(var(--e-transform-rotateZ, 0deg));
    }
    60% {
        transform: translateY(-5px) rotate(var(--e-transform-rotateZ, 0deg));
    }
}
.texte-poppins {
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    text-transform: var(--e-global-typography-secondary-text-transform);
    line-height: var(--e-global-typography-secondary-line-height);
    letter-spacing: var(--e-global-typography-secondary-letter-spacing);
}

/* On applique l'animation au bouton quand il est visible */
.back-to-top.is-visible {
    display: flex !important; /* Assure qu'il est bien là */
    animation: bounceUp 2s infinite; /* Répète l'anim toutes les 2s */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease;
}

/* On stoppe l'anim au survol pour que l'utilisateur puisse cliquer tranquillement */
.back-to-top:hover {
    animation-play-state: paused;
}

/* CORRECTIF ÉDITEUR : Empêche le header de devenir une colonne de 100px */
.elementor-editor-active .header-ordi.elementor-sticky--active {
    width: 99vw !important; /* Force la largeur de l'écran */
    left: 0 !important;
    inset-inline-start: 0 !important;
    position: fixed !important;
}

/* Force les conteneurs internes à rester alignés horizontalement */
.elementor-editor-active .header-ordi.elementor-sticky--active .e-con {
    flex-direction: row !important;
    width: 100% !important;
}

/* Masque les éventuels débordements qui créent le scroll horizontal dans l'éditeur */
body.elementor-editor-active {
    overflow-x: hidden !important;
}


/* --- BOUTON COMMUN : EFFET BREEZIE NET --- */

.btn-commun-dore {
    position: relative;
    display: inline-block;
    text-decoration: none !important;
    padding-bottom: 4px !important;
    transition: color 0.4s ease !important;
}

/* 1. LA LIGNE INITIALE (Noire - Fixe) */
.btn-commun-dore::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #000000; /* Force le noir au départ */
    transform: scaleX(1);
    transform-origin: bottom left;
    transition: opacity 0.3s ease; /* Disparition rapide */
}

/* 2. LA LIGNE D'ANIMATION (Dorée - Mobile) */
.btn-commun-dore::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px; /* Même épaisseur pour la précision */
    background-color: #C5A059 !important; /* Force votre doré */
    
    /* Animation Breezie : part de 0 à droite */
    transform: scaleX(0);
    transform-origin: bottom right;
    
    /* Transition plus nerveuse et précise */
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- ÉTAT AU SURVOL (Hover) --- */

/* La ligne noire s'efface pour laisser place nette */
.btn-commun-dore:hover::before {
    opacity: 0;
    transition: opacity 0.4s ease;
}

/* La ligne dorée se déploie depuis la gauche */
.btn-commun-dore:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

/* 2. État au survol fleche (Passe en Doré) */
.btn-commun-dore a.elementor-button:hover .uuid-14d0c9bc-6411-4fd2-add7-a3c7affb06ba {
    stroke: #C5A47E !important; /* Ton doré Croq'Gourmet */
}

/* 3. Petit bonus : animation de la flèche qui avance */
.btn-commun-dore a.elementor-button .elementor-button-icon {
    transition: transform 0.4s ease;
}

.btn-commun-dore a.elementor-button:hover .elementor-button-icon {
    transform: translateX(8px); /* La flèche glisse vers la droite */
}


/* -------------- */
/* --- HEADER --- */
/* -------------- */

/* --- 1. TRANSITIONS FLUIDES --- */
.header-ordi, 
.header-ordi .e-con-inner, 
.header-logo svg,
.header-logo svg path, 
.header-menu li a {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* --- 2. ÉTAT AU SCROLL (.scrolled) --- */

.header-ordi.scrolled {
    background-color: #ffffff !important;
    min-height: 50px !important;
    /* Ombre de boîte très légère et diffuse (Luxe) */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
}

/* On cible l'élément interne qui bloquait la hauteur */
.header-ordi.scrolled > div.e-con-inner {
    padding-top: 5px !important;    
    padding-bottom: 5px !important;
    max-height: 90px !important;
}

/* Réduction fluide du logo */
.header-ordi.scrolled .header-logo svg {
    transform: scale(0.55); 
    transform-origin: center;
}

/* Couleurs au scroll */
.header-ordi.scrolled .header-logo svg path,
.header-ordi.scrolled .header-logo svg rect {
    fill: #000000 !important;
}

.header-ordi.scrolled .header-menu li a {
    color: #000000 !important;
}

/* --- 3. L'EFFET BRUSH --- */
.header-ordi.scrolled .header-logo {
    animation: brushEffect 0.7s ease-in-out forwards;
    margin:0!important;
}

@keyframes brushEffect {
    0% { 
        filter: blur(2px); 
        opacity: 0.7; 
        transform: scale(0.7); /* Départ un peu plus petit */
    }
    100% { 
        filter: blur(0); 
        opacity: 1; 
        transform: scale(0.55); /* Arrivée à la taille finale au scroll */
    }
}

/* -------------- */
/* --- HEADER V2 --- */
/* -------------- */

/* --- 1. TRANSITIONS FLUIDES --- */
.header-ordi-v2, 
.header-ordi-v2 .e-con-inner, 
.header-logo-v2 svg,
.header-logo-v2 svg path, 
.header-menu-v2 li a {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* --- 2. ÉTAT AU SCROLL (.scrolled) --- */

.header-ordi-v2.scrolled {
    background-color: #ffffff !important;
    min-height: 60px !important;
    /* Ombre de boîte très légère et diffuse (Luxe) */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
}

/* On cible l'élément interne qui bloquait la hauteur */
.header-ordi-v2.scrolled > div.e-con-inner {
    padding-top: 5px !important;    
    padding-bottom: 5px !important;
    min-height: 60px !important;
}

/* Réduction fluide du logo */
.header-ordi-v2.scrolled .header-logo-v2 svg {
    transform: scale(0.85); 
    transform-origin: center;
}


/* -------------- */
/* --- IMG --- */
/* -------------- */
/* 1. On transforme le widget en "cadre" hermétique */
.img-anim {
    overflow: hidden !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black); /* Fix pour Safari */
}

/* 2. On cible l'image à l'intérieur du widget */
.img-anim img {
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
    display: block;
    width: 100%;
    height: auto;
}

/* 3. Au survol du widget, seule l'image interne zoom */
.img-anim:hover img {
    transform: scale(1.1); /* Zoom de 10% */
}

/*----IMG-----*/
.border-img {
    position: relative;
    display: inline-block;
    overflow: hidden;  
    line-height: 0;   
    
}

/* On crée le trait blanc avec un pseudo-élément */
.border-img::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1.5px solid #ffffff; 
    z-index: 2;
    pointer-events: none;
    
    transition: all 0.4s ease-in-out;
    
}

.border-img:hover::before {
    top: 35px;
    left: 35px;
    right: 35px;
    bottom: 35px;
    transition: all 0.4s ease-in-out;
}


/* ==================================================
PAGE ENTREPRISE ET COLLECTIVITE
 ================================================== */


/* ==================================================
   1. STYLES COMMUNS (Valables sur tous les écrans)
   ================================================== */

.wrapper-nav > .container-nav {
    position: relative;
    overflow: hidden;
    
    /* 1. Tes filtres au repos */
    filter: sepia(30%) brightness(80%) contrast(120%);
    
    /* On ajoute "filter" dans la transition pour que le changement de couleur soit fluide */
    transition: filter 0.6s ease-in-out, flex 0.8s ease-in-out, height 0.6s ease-in-out;
}

/* 2. Au survol, les filtres reviennent à la normale (l'image reprend ses vraies couleurs) */
.wrapper-nav > .container-nav:hover {
    filter: sepia(0%) brightness(100%) contrast(100%);
}

/* ==================================================
   LE CALQUE D'ASSOMBRISSEMENT (::BEFORE)
   ================================================== */

/* État au repos */
.wrapper-nav > .container-nav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* OPTIMISATION : On fixe une couleur noire transparente intermédiaire */
    background-color: rgba(0, 0, 0, 0.25); 
    
    /* On commence avec une opacité visible (50%) */
    opacity: 0.5; 
    z-index: 1;
    
    /* La transition se met ICI uniquement pour gérer le "Play" et le "Rewind" */
    transition: opacity 0.6s ease-in-out;
    pointer-events: none;
}

/* État au survol */
.wrapper-nav > .container-nav:hover::before {
    /* On augmente simplement l'opacité à 100% pour assombrir le fond */
    opacity: 1;
}

/* Le Titre et son animation de ligne blanche */
.container-nav .titre-nav {
    position: relative;
    z-index: 2;
}
.container-nav .titre-nav .elementor-heading-title {
    position: relative;
    display: inline-block;
    text-decoration: none !important;
    padding-bottom: 4px !important;
}
.container-nav .titre-nav .elementor-heading-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #ffffff !important;
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.wrapper-nav > .container-nav:hover .titre-nav .elementor-heading-title::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}


/* ==================================================
   2. VERSION DESKTOP (Écrans supérieurs à 1024px)
   ================================================== */
@media (min-width: 1025px) {
    .wrapper-nav > .container-nav {
        flex: 1;
        transition: flex 0.8s ease-in-out;
    }
    
    /* Grandit en largeur au survol */
    .wrapper-nav > .container-nav:hover {
        flex: 0 0 35%;
    }
}


/* ==================================================
   3. VERSION TABLETTE & MOBILE (Écrans inférieurs à 1024px)
   ================================================== */
@media (max-width: 1024px) {
    .wrapper-nav {
        flex-direction: row !important; /* Force l'alignement vertical */
    }

    .wrapper-nav > .container-nav {
        width: 25% !important;
        /* Au repos sur mobile, on leur donne une hauteur fixe égale */
        transition: height 0.6s ease-in-out; /* La transition se fait sur la hauteur désormais */
    }
}

@media (max-width: 767px) {
     .wrapper-nav > .container-nav {
        width: 100% !important;
        height: 160px;
     }
}/* End custom CSS */