.elementor-107 .elementor-element.elementor-element-3db7852{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 50px;--row-gap:0px;--column-gap:50px;--overlay-opacity:0.6;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-text );--border-color:var( --e-global-color-text );--border-radius:30px 30px 30px 30px;}.elementor-107 .elementor-element.elementor-element-3db7852:not(.elementor-motion-effects-element-type-background), .elementor-107 .elementor-element.elementor-element-3db7852 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://stage.tc-agency.fr/wp-content/uploads/2026/04/Des-espaces-agreables-et-accessibles.jpg");background-repeat:no-repeat;background-size:cover;}.elementor-107 .elementor-element.elementor-element-3db7852::before, .elementor-107 .elementor-element.elementor-element-3db7852 > .elementor-background-video-container::before, .elementor-107 .elementor-element.elementor-element-3db7852 > .e-con-inner > .elementor-background-video-container::before, .elementor-107 .elementor-element.elementor-element-3db7852 > .elementor-background-slideshow::before, .elementor-107 .elementor-element.elementor-element-3db7852 > .e-con-inner > .elementor-background-slideshow::before, .elementor-107 .elementor-element.elementor-element-3db7852 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(90deg, var( --e-global-color-text ) 0%, #00000000 100%);}.elementor-107 .elementor-element.elementor-element-be4af88{--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;--justify-content:space-around;}.elementor-107 .elementor-element.elementor-element-7e53b5f{--display:flex;--gap:40px 0px;--row-gap:40px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-107 .elementor-element.elementor-element-66cdc2c .elementor-heading-title{font-family:var( --e-global-typography-d086945-font-family ), Sans-serif;font-size:var( --e-global-typography-d086945-font-size );font-weight:var( --e-global-typography-d086945-font-weight );color:var( --e-global-color-210c2ed );}.elementor-107 .elementor-element.elementor-element-391574e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-107 .elementor-element.elementor-element-6c0420f{--display:flex;--gap:05px 0px;--row-gap:05px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-107 .elementor-element.elementor-element-98cb374 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:0.95rem;font-weight:700;color:var( --e-global-color-210c2ed );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-107 .elementor-element.elementor-element-03321bb{text-align:justify;color:var( --e-global-color-210c2ed );}.elementor-107 .elementor-element.elementor-element-138550b{--display:flex;--gap:05px 0px;--row-gap:05px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-107 .elementor-element.elementor-element-3a05e1a .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:0.95rem;font-weight:700;color:var( --e-global-color-210c2ed );}.elementor-107 .elementor-element.elementor-element-c834643{text-align:justify;color:var( --e-global-color-210c2ed );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button{background-color:#FF6A6A00;font-family:"Poppins", Sans-serif;font-size:0.9rem;font-weight:700;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );}.elementor-107 .elementor-element.elementor-element-acea07e{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-107 .elementor-element.elementor-element-acea07e.elementor-element{--align-self:flex-start;}.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-107 .elementor-element.elementor-element-79adc6e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-107 .elementor-element.elementor-element-8826b06{--display:flex;--gap:40px 0px;--row-gap:40px;--column-gap:0px;--border-radius:30px 30px 30px 30px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-107 .elementor-element.elementor-element-8826b06:not(.elementor-motion-effects-element-type-background), .elementor-107 .elementor-element.elementor-element-8826b06 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #044771A8 0%, #000E1791 100%);}.elementor-107 .elementor-element.elementor-element-3dbee3c .elementor-heading-title{font-family:var( --e-global-typography-5818c96-font-family ), Sans-serif;font-size:var( --e-global-typography-5818c96-font-size );font-weight:var( --e-global-typography-5818c96-font-weight );color:var( --e-global-color-210c2ed );}.elementor-107 .elementor-element.elementor-element-60684fd{text-align:justify;color:#FFFFFFCF;}.elementor-107 .elementor-element.elementor-element-fa22a4d{text-align:justify;color:#FFFFFFCF;}.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button{background-color:#FF6A6A00;font-family:"Poppins", Sans-serif;font-size:0.9rem;font-weight:700;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );}.elementor-107 .elementor-element.elementor-element-974df21.elementor-element{--align-self:center;}.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button-content-wrapper{flex-direction:row-reverse;}@media(max-width:1024px){.elementor-107 .elementor-element.elementor-element-66cdc2c .elementor-heading-title{font-size:var( --e-global-typography-d086945-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-107 .elementor-element.elementor-element-3dbee3c .elementor-heading-title{font-size:var( --e-global-typography-5818c96-font-size );}}@media(max-width:767px){.elementor-107 .elementor-element.elementor-element-3db7852:not(.elementor-motion-effects-element-type-background), .elementor-107 .elementor-element.elementor-element-3db7852 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://stage.tc-agency.fr/wp-content/uploads/2026/04/Des-espaces-agreables-et-accessibles-responsive.jpg");background-position:bottom right;background-size:cover;}.elementor-107 .elementor-element.elementor-element-3db7852{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.9;}.elementor-107 .elementor-element.elementor-element-be4af88{--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-107 .elementor-element.elementor-element-7e53b5f{--gap:40px 0px;--row-gap:40px;--column-gap:0px;}.elementor-107 .elementor-element.elementor-element-66cdc2c .elementor-heading-title{font-size:var( --e-global-typography-d086945-font-size );}.elementor-107 .elementor-element.elementor-element-391574e{--gap:10px 0px;--row-gap:10px;--column-gap:0px;}.elementor-107 .elementor-element.elementor-element-98cb374 .elementor-heading-title{font-size:15px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-107 .elementor-element.elementor-element-3a05e1a .elementor-heading-title{font-size:15px;}.elementor-107 .elementor-element.elementor-element-acea07e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-107 .elementor-element.elementor-element-acea07e.elementor-element{--align-self:center;}.elementor-107 .elementor-element.elementor-element-79adc6e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-107 .elementor-element.elementor-element-8826b06{--gap:20px 0px;--row-gap:20px;--column-gap:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:15px;--padding-right:15px;}.elementor-107 .elementor-element.elementor-element-3dbee3c .elementor-heading-title{font-size:var( --e-global-typography-5818c96-font-size );}}@media(min-width:768px){.elementor-107 .elementor-element.elementor-element-be4af88{--width:50%;}.elementor-107 .elementor-element.elementor-element-79adc6e{--width:50%;}}/* Start custom CSS for button, class: .elementor-element-acea07e *//* 1. Base du bouton (Scoped) */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button {
    position: relative;
    overflow: hidden;
    border-radius: 15px !important;
    background: transparent !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center;
    padding: 12px 30px !important;
    z-index: 1;
    /* On force une transition globale fluide */
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

/* 2. L'effet de remplissage (Slide Fluid) */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #D63636, #FF6A6A);
    transform: scaleX(0);
    transform-origin: left;
    /* Courbe Quintique pour un effet "soyeux" */
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    z-index: -1;
    border-radius: 15px;
}

/* 3. Style du texte (Dégradé stable) */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button-text {
    position: relative;
    z-index: 2;
    background: linear-gradient(90deg, #D63636, #FF6A6A);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    /* Transition synchronisée */
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

/* 4. Style de l'icône */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button-icon {
    position: relative;
    z-index: 2;
    color: #D63636;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

/* --- HOVER (L'animation fluide) --- */

/* Le remplissage glisse */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button:hover::after {
    transform: scaleX(1);
}

/* Le texte devient blanc avec un léger fondu */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button:hover .elementor-button-text {
    -webkit-text-fill-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateX(-5px);
    opacity: 1;
}

/* La flèche devient blanche et glisse */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button:hover .elementor-button-icon {
    color: #ffffff !important;
    transform: translateX(7px);
}

/* Sécurité pour l'icône SVG */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button:hover .elementor-button-icon svg {
    fill: #ffffff !important;
    transition: fill 0.5s ease;
}

/* Petit effet de pression au clic pour l'UX */
.elementor-107 .elementor-element.elementor-element-acea07e .elementor-button:active {
    transform: scale(0.96);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-974df21 *//* 1. Base du bouton (Transparent / Tout en Blanc) */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button {
    position: relative;
    overflow: hidden;
    border-radius: 15px !important;
    background: transparent !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center;
    padding: 12px 30px !important;
    z-index: 1;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

/* 2. Remplissage dégradé (Slide de gauche à droite) */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #D63636, #FF6A6A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    z-index: -1;
    border-radius: 15px;
}

/* 3. Texte (Toujours Blanc) */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button-text {
    position: relative;
    z-index: 2;
    color: #ffffff !important;
    font-weight: 700;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

/* 4. L'icône (Toujours Blanche - Ciblage complet) */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button-icon,
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button-icon i,
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button-icon svg {
    position: relative;
    z-index: 2;
    color: #ffffff !important; /* Forcé en blanc dès le départ */
    fill: #ffffff !important;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

/* --- HOVER (Animation de mouvement) --- */

/* Activation du fond dégradé */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button:hover::after {
    transform: scaleX(1);
}

/* Glissement du texte vers la gauche */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button:hover .elementor-button-text {
    transform: translateX(-5px);
}

/* Glissement de la flèche vers la droite (reste blanche) */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button:hover .elementor-button-icon,
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button:hover .elementor-button-icon i,
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button:hover .elementor-button-icon svg {
    transform: translateX(7px);
}

/* Petit effet de pression au clic */
.elementor-107 .elementor-element.elementor-element-974df21 .elementor-button:active {
    transform: scale(0.96);
}/* End custom CSS */