.elementor-50 .elementor-element.elementor-element-cda17ea{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-50 .elementor-element.elementor-element-cda17ea:not(.elementor-motion-effects-element-type-background), .elementor-50 .elementor-element.elementor-element-cda17ea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EDE0D400;}.elementor-50 .elementor-element.elementor-element-b7c1e10{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon-wrapper{text-align:center;}.elementor-50 .elementor-element.elementor-element-1afaf91.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-50 .elementor-element.elementor-element-1afaf91.elementor-view-framed .elementor-icon, .elementor-50 .elementor-element.elementor-element-1afaf91.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-50 .elementor-element.elementor-element-1afaf91.elementor-view-framed .elementor-icon, .elementor-50 .elementor-element.elementor-element-1afaf91.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-50 .elementor-element.elementor-element-73ebda75{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:9999;}.elementor-50 .elementor-element.elementor-element-4be743a7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-50 .elementor-element.elementor-element-26774e3{--display:flex;--position:absolute;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;top:0px;}body:not(.rtl) .elementor-50 .elementor-element.elementor-element-26774e3{left:0px;}body.rtl .elementor-50 .elementor-element.elementor-element-26774e3{right:0px;}.elementor-50 .elementor-element.elementor-element-4d4c2799{width:var( --container-widget-width, 7.745% );max-width:7.745%;--container-widget-width:7.745%;--container-widget-flex-grow:0;text-align:start;}.elementor-50 .elementor-element.elementor-element-4d4c2799 > .elementor-widget-container{padding:8px 8px 8px 8px;}.elementor-50 .elementor-element.elementor-element-4d4c2799.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-50 .elementor-element.elementor-element-4d4c2799 img{width:100vw;max-width:100%;}.elementor-50 .elementor-element.elementor-element-45026b9{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--e-nav-menu-horizontal-menu-item-margin:calc( 100px / 2 );}.elementor-50 .elementor-element.elementor-element-45026b9 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-50 .elementor-element.elementor-element-45026b9.elementor-element{--align-self:center;}.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-menu-toggle{margin:0 auto;}.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu .elementor-item{font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;line-height:1.5em;}.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-b41e63e );}.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;}.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:100px;}.elementor-50 .elementor-element.elementor-element-4272d90{width:auto;max-width:auto;}.elementor-50 .elementor-element.elementor-element-4272d90 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-50 .elementor-element.elementor-element-4272d90.elementor-element{--align-self:center;--order:99999 /* order end hack */;}.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-wrapper{align-items:center;gap:0px;}.elementor-50 .elementor-element.elementor-element-4272d90.elementor-view-stacked .elementor-icon{background-color:#533D1300;fill:#F39300;color:#F39300;}.elementor-50 .elementor-element.elementor-element-4272d90.elementor-view-framed .elementor-icon, .elementor-50 .elementor-element.elementor-element-4272d90.elementor-view-default .elementor-icon{fill:#533D1300;color:#533D1300;border-color:#533D1300;}.elementor-50 .elementor-element.elementor-element-4272d90.elementor-view-framed .elementor-icon{background-color:#F39300;}.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon{font-size:6px;}.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon i{transform:rotate(0deg);}.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-title, .elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-title a{font-size:22px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-50 .elementor-element.elementor-element-cda17ea{--content-width:100vw;}.elementor-50 .elementor-element.elementor-element-73ebda75{--content-width:100vw;}.elementor-50 .elementor-element.elementor-element-26774e3{--content-width:90vw;}}@media(max-width:1366px) and (min-width:768px){.elementor-50 .elementor-element.elementor-element-cda17ea{--content-width:100vw;}.elementor-50 .elementor-element.elementor-element-b7c1e10{--content-width:100vw;}}@media(min-width:2400px){.elementor-50 .elementor-element.elementor-element-b7c1e10{--grid-auto-flow:row;}}@media(max-width:1366px){.elementor-50 .elementor-element.elementor-element-cda17ea{--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;--z-index:5;}.elementor-50 .elementor-element.elementor-element-b7c1e10{--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-50 .elementor-element.elementor-element-526cc50{text-align:start;}.elementor-50 .elementor-element.elementor-element-526cc50 img{width:58px;}.elementor-50 .elementor-element.elementor-element-1afaf91.elementor-element{--align-self:center;}.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon-wrapper{text-align:end;}.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon{font-size:32px;}.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon svg{height:32px;}}@media(max-width:1024px){.elementor-50 .elementor-element.elementor-element-b7c1e10{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu .elementor-item{font-size:16px;}}@media(max-width:767px){.elementor-50 .elementor-element.elementor-element-b7c1e10{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-50 .elementor-element.elementor-element-4d4c2799{text-align:start;}.elementor-50 .elementor-element.elementor-element-4d4c2799 img{width:45%;}.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu .elementor-item{font-size:16px;}}/* Start custom CSS for icon, class: .elementor-element-1afaf91 *//* =========================================================
   BULLE HAMBURGER FLEXIBLE (TAILLE VIA ELEMENTOR)
   ========================================================= */

/* 1. LA BULLE (Le conteneur) */
.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon {
    /* Permet l'alignement via Elementor (Gauche/Centre/Droite) */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* ARRONDIS ET STYLE */
    border-radius: 100% !important;
    background-color: rgba(0, 0, 0, 0.05) !important;
    
    /* ESPACEMENT AUTOUR DE L'ICÔNE (Système de 8) */
    /* Modifie ce padding si tu veux que la bulle soit plus ou moins large autour de l'icône */
    padding: 8px !important; 
    
    /* On s'assure que rien n'est coupé */
    overflow: visible !important;
    transition: all 0.3s ease;
}

/* 2. L'ICÔNE (Le dessin du burger) */
.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon i,
.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon svg {
    /* ON NE FORCE PLUS LA TAILLE ICI */
    /* Utilise le curseur "Taille" dans l'onglet Style d'Elementor */
    
    /* COULEUR MARRON */
    color: #7F5539 !important; 
    fill: #7F5539 !important;
    
    /* Transition pour la rotation */
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 3. INTERACTION AU SURVOL */
.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon:hover {
    background-color: rgba(0, 0, 0, 0.1) !important;
    transform: scale(1.1);
    cursor: pointer;
}


/* Petit effet d'enfoncement de la bulle entière au clic */
.elementor-50 .elementor-element.elementor-element-1afaf91 .elementor-icon:active {
    transform: scale(0.95);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-4d4c2799 *//* =========================================================
   LOGO & BOUTON : DESCENTE CLASSIQUE
   ========================================================= */
.elementor-50 .elementor-element.elementor-element-4d4c2799 {
    position: relative;
    /* On transfère la protection ici pour qu'ils restent cliquables */
    z-index: 99;
    opacity: 0;
    /* Durée : 0.64s (Multiple de 8) */
    animation: headerWidgetReveal 0.64s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes headerWidgetReveal {
    0% {
        opacity: 0;
        transform: translateY(-48px);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-45026b9 *//* =========================================================
   MENU : DESCENTE, INVERSION DYNAMIQUE ET ROULEMENT
   ========================================================= */

/* 1. L'enveloppe du widget (Descente + Inversion + Z-index) */
.elementor-50 .elementor-element.elementor-element-45026b9 {
    mix-blend-mode: difference;
    position: relative;
    z-index: 99;
    opacity: 0;
    animation: headerWidgetReveal 0.64s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 2. Ta structure de roulement */
.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu--main a {
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    height: 1.2em !important;
    line-height: 1.2 !important;
    /* Blanc pur obligatoire pour l'inversion */
    color: #FFFFFF !important;
}

.elementor-50 .elementor-element.elementor-element-45026b9 .menu-roll-wrapper {
    display: flex;
    flex-direction: column;
    /* Ajusté à 320ms pour respecter la grille de 8 */
    transition: transform 0.32s cubic-bezier(0.76, 0, 0.24, 1);
}

.elementor-50 .elementor-element.elementor-element-45026b9 .menu-roll-top,
.elementor-50 .elementor-element.elementor-element-45026b9 .menu-roll-bottom {
    display: block;
    line-height: 1.2;
    white-space: nowrap;
}

.elementor-50 .elementor-element.elementor-element-45026b9 .elementor-nav-menu--main a:hover .menu-roll-wrapper {
    transform: translateY(-50%);
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-4272d90 *//* =========================================================
   CONFIG — TOUTES LES VALEURS MODIFIABLES SONT ICI.
   ========================================================= */
.elementor-50 .elementor-element.elementor-element-4272d90 {
    /* --- COULEURS --- */
    --bg-repos:             linear-gradient(180deg, #423C35 0%, #2B2722 100%);
    --bg-hover:             #F0A83B;
    --bordure-hover:        #F39300;
    --texte-repos:          #FFFFFF;
    --texte-hover:          #2B2722;
    --icone-repos:          #FFFFFF;
    --icone-hover:          #2B2722;

    /* --- DIMENSIONS --- */
    --largeur:              max-content;
    --hauteur-min:          auto;
    --border-radius:        96px;

    /* --- ESPACEMENT INTERNE --- */
    --padding-vertical:     16px;
    --padding-horizontal:   64px;

    /* --- ICONE --- */
    --icone-taille:         16px;
    --icone-gap:            8px;

    /* --- TEXTE --- */
    --texte-taille:         20px;

    /* --- ANIMATION --- */
    --vitesse:              0.48s;

    cursor: pointer;
}

/* =========================================================
   NE PAS MODIFIER EN DESSOUS DE CETTE LIGNE
   ========================================================= */

/* --- 1. CONTENEUR BOUTON --- */
.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-widget-container {
    background: var(--bg-repos) !important;
    border: none !important;
    border-radius: var(--border-radius) !important;
    position: relative !important;
    overflow: hidden !important;
    /* COMPENSATION MAGIQUE : On force l'ajout de la moitié de l'icône de chaque côté pour absorber son positionnement absolu */
    padding: var(--padding-vertical) calc(var(--padding-horizontal) + ((var(--icone-taille) + var(--icone-gap)) / 2)) !important;
    width: var(--largeur) !important;
    min-height: var(--hauteur-min) !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    transform: translateZ(0) !important;
    transition: box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
    isolation: isolate !important;
}

/* --- 2. SWEEP HOVER --- */
.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-widget-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--bg-hover);
    border-radius: inherit;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--vitesse) cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 0;
}

/* --- 3. ETATS HOVER CONTENEUR --- */
.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-widget-container::before {
    transform: scaleX(1);
}

.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-widget-container {
    box-shadow: 0 0 0 1px var(--bordure-hover) !important;
}

/* --- 4. WRAPPER INTERNE (Calcul d'équilibre) --- */
.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-wrapper {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    position: relative !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translateX(calc((var(--icone-taille) + var(--icone-gap)) / 2)) !important;
    transition: transform var(--vitesse) cubic-bezier(0.25, 1, 0.5, 1) !important;
    z-index: 1;
}

.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-icon-box-wrapper {
    transform: translateX(calc((var(--icone-taille) + var(--icone-gap)) / -2)) !important;
}

/* --- 5. ICONE (Orbital track) --- */
.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-icon {
    flex-shrink: 0 !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 10 !important;
    transform: translateX(0) !important;
    transition: transform var(--vitesse) cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-icon-box-icon {
    transform: translateX(100%) !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-icon .elementor-icon {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: var(--icone-taille) !important;
    height: var(--icone-taille) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translate(calc(-100% - var(--icone-gap)), -50%) !important;
    transition: transform var(--vitesse) cubic-bezier(0.25, 1, 0.5, 1), color var(--vitesse) ease, fill var(--vitesse) ease !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-icon-box-icon .elementor-icon {
    transform: translate(var(--icone-gap), -50%) !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-icon .elementor-icon i,
.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-icon .elementor-icon svg {
    color: var(--icone-repos) !important;
    fill: var(--icone-repos) !important;
    font-size: var(--icone-taille) !important;
    transition: inherit !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-icon-box-icon .elementor-icon i,
.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-icon-box-icon .elementor-icon svg {
    color: var(--icone-hover) !important;
    fill: var(--icone-hover) !important;
}

/* --- 6. TEXTE --- */
.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-content {
    flex-shrink: 0 !important;
    text-align: left !important;
    position: relative !important;
    white-space: nowrap !important;
    z-index: 10 !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-title {
    color: var(--texte-repos) !important;
    margin: 0 !important;
    font-size: var(--texte-taille) !important;
    transition: color var(--vitesse) ease !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90:hover .elementor-icon-box-title {
    color: var(--texte-hover) !important;
}

.elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-description {
    display: none !important;
}

/* --- 7. ACCESSIBILITE — REDUCED MOTION --- */
@media (prefers-reduced-motion: reduce) {
    .elementor-50 .elementor-element.elementor-element-4272d90 .elementor-widget-container::before,
    .elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-wrapper,
    .elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-icon,
    .elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-icon .elementor-icon {
        transition: none !important;
    }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1366px) {
    .elementor-50 .elementor-element.elementor-element-4272d90 {
        --vitesse:              0.38s;
    }
}

@media (max-width: 1024px) {
    .elementor-50 .elementor-element.elementor-element-4272d90 {
        --border-radius:        72px;
        --vitesse:              0.32s;
    }
}

@media (max-width: 768px) {
    .elementor-50 .elementor-element.elementor-element-4272d90 {
        --largeur:              100%;
        --border-radius:        64px;
        --vitesse:              0.25s;
    }

    .elementor-50 .elementor-element.elementor-element-4272d90 .elementor-icon-box-content {
        white-space: normal !important;
    }
}

@media (max-width: 480px) {
    .elementor-50 .elementor-element.elementor-element-4272d90 {
        --border-radius:        48px;
        --padding-vertical:     8px;
    }
}/* =========================================================
   LOGO & BOUTON : DESCENTE CLASSIQUE
   ========================================================= */
.elementor-50 .elementor-element.elementor-element-4272d90 {
    position: relative;
    /* On transfère la protection ici pour qu'ils restent cliquables */
    z-index: 99;
    opacity: 0;
    /* Durée : 0.64s (Multiple de 8) */
    animation: headerWidgetReveal 0.64s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes headerWidgetReveal {
    0% {
        opacity: 0;
        transform: translateY(-48px);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}/* End custom CSS */