.elementor-3427 .elementor-element.elementor-element-0e62c8a{--display:flex;--min-height:60px;--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:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-9px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:-4%;--padding-bottom:-3%;--padding-left:8%;--padding-right:8%;--z-index:95;}.elementor-3427 .elementor-element.elementor-element-0e62c8a:not(.elementor-motion-effects-element-type-background), .elementor-3427 .elementor-element.elementor-element-0e62c8a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3427 .elementor-element.elementor-element-c384497{text-align:center;}.elementor-3427 .elementor-element.elementor-element-c384497 img{width:100%;max-width:90%;height:140px;object-fit:contain;object-position:center center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-menu-toggle{margin:0 auto;}.elementor-3427 .elementor-element.elementor-element-540113a{--display:flex;--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;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3427 .elementor-element.elementor-element-540113a:not(.elementor-motion-effects-element-type-background), .elementor-3427 .elementor-element.elementor-element-540113a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("http://campus-btp-numerique.org/wp-content/uploads/2026/04/Gemini_Generated_Image_6wpu8r6wpu8r6wpu-1-scaled.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-3427 .elementor-element.elementor-element-540113a::before, .elementor-3427 .elementor-element.elementor-element-540113a > .elementor-background-video-container::before, .elementor-3427 .elementor-element.elementor-element-540113a > .e-con-inner > .elementor-background-video-container::before, .elementor-3427 .elementor-element.elementor-element-540113a > .elementor-background-slideshow::before, .elementor-3427 .elementor-element.elementor-element-540113a > .e-con-inner > .elementor-background-slideshow::before, .elementor-3427 .elementor-element.elementor-element-540113a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#FFFFFF;--background-overlay:'';}.elementor-3427 .elementor-element.elementor-element-540113a.e-con{--align-self:center;}.elementor-3427 .elementor-element.elementor-element-40c8157.elementor-element{--align-self:center;}.elementor-3427 .elementor-element.elementor-element-ebfb4a1{--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;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3427 .elementor-element.elementor-element-ebfb4a1:not(.elementor-motion-effects-element-type-background), .elementor-3427 .elementor-element.elementor-element-ebfb4a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("http://campus-btp-numerique.org/wp-content/uploads/2026/04/Gemini_Generated_Image_6wpu8r6wpu8r6wpu-1-scaled.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-3427 .elementor-element.elementor-element-ebfb4a1::before, .elementor-3427 .elementor-element.elementor-element-ebfb4a1 > .elementor-background-video-container::before, .elementor-3427 .elementor-element.elementor-element-ebfb4a1 > .e-con-inner > .elementor-background-video-container::before, .elementor-3427 .elementor-element.elementor-element-ebfb4a1 > .elementor-background-slideshow::before, .elementor-3427 .elementor-element.elementor-element-ebfb4a1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-3427 .elementor-element.elementor-element-ebfb4a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#FFFFFF;--background-overlay:'';}.elementor-3427 .elementor-element.elementor-element-21c767c{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3427 .elementor-element.elementor-element-6d4174e8{--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;}.elementor-3427 .elementor-element.elementor-element-7340f4e2{--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-3427 .elementor-element.elementor-element-76a0c632{--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:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:5px;--padding-left:0px;--padding-right:0px;}.elementor-3427 .elementor-element.elementor-element-76a0c632:not(.elementor-motion-effects-element-type-background), .elementor-3427 .elementor-element.elementor-element-76a0c632 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#39556E;}.elementor-3427 .elementor-element.elementor-element-3bc7af98{--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-3427 .elementor-element.elementor-element-65947e4{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3427 .elementor-element.elementor-element-10771f84{--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-3427 .elementor-element.elementor-element-528118cf{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap: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-3427 .elementor-element.elementor-element-7209ffab{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + -8px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-7209ffab.elementor-element{--order:-99999 /* order start hack */;}.elementor-3427 .elementor-element.elementor-element-7209ffab .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:12px;font-weight:400;line-height:24px;word-spacing:0px;color:#EC6C04;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-3427 .elementor-element.elementor-element-6f44a7c9{--divider-border-style:solid;--divider-color:#EC6C04;--divider-border-width:1px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 15px 0px;}.elementor-3427 .elementor-element.elementor-element-6f44a7c9 .elementor-divider-separator{width:80%;}.elementor-3427 .elementor-element.elementor-element-6f44a7c9 .elementor-divider{padding-block-start:4px;padding-block-end:4px;}.elementor-3427 .elementor-element.elementor-element-7a543e4e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-7a543e4e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-3427 .elementor-element.elementor-element-27b133f7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-27b133f7 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-3427 .elementor-element.elementor-element-1db4fbb4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-1db4fbb4 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-3427 .elementor-element.elementor-element-272759eb{text-align:start;}.elementor-3427 .elementor-element.elementor-element-272759eb .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-3427 .elementor-element.elementor-element-f8357ed{--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-3427 .elementor-element.elementor-element-38eaa4d8{--display:flex;--gap:00px 0px;--row-gap:00px;--column-gap:0px;}.elementor-3427 .elementor-element.elementor-element-4f641162{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + -8px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-4f641162.elementor-element{--order:-99999 /* order start hack */;}.elementor-3427 .elementor-element.elementor-element-4f641162 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:12px;font-weight:400;line-height:24px;word-spacing:0px;color:#EC6C04;}.elementor-3427 .elementor-element.elementor-element-2738d8d{--divider-border-style:solid;--divider-color:#EC6C04;--divider-border-width:1px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 15px 0px;}.elementor-3427 .elementor-element.elementor-element-2738d8d .elementor-divider-separator{width:80%;}.elementor-3427 .elementor-element.elementor-element-2738d8d .elementor-divider{padding-block-start:4px;padding-block-end:4px;}.elementor-3427 .elementor-element.elementor-element-36ef8c29{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-36ef8c29 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-3427 .elementor-element.elementor-element-37ba18ed{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-37ba18ed .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-3427 .elementor-element.elementor-element-cadf5f9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:start;}.elementor-3427 .elementor-element.elementor-element-cadf5f9 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-3427 .elementor-element.elementor-element-2431590f{--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-3427 .elementor-element.elementor-element-3de56261{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;}.elementor-3427 .elementor-element.elementor-element-16d228ab{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3427 .elementor-element.elementor-element-16d228ab:not( .elementor-widget-image ), .elementor-3427 .elementor-element.elementor-element-16d228ab.elementor-widget-image img{-webkit-mask-image:url( http://campus-btp-numerique.org/wp-content/plugins/elementor/assets/mask-shapes/circle.svg );-webkit-mask-size:contain;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;}.elementor-3427 .elementor-element.elementor-element-16d228ab img{width:85%;}.elementor-3427 .elementor-element.elementor-element-23c86602{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3427 .elementor-element.elementor-element-23c86602:not( .elementor-widget-image ), .elementor-3427 .elementor-element.elementor-element-23c86602.elementor-widget-image img{-webkit-mask-image:url( http://campus-btp-numerique.org/wp-content/plugins/elementor/assets/mask-shapes/circle.svg );-webkit-mask-size:contain;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;}.elementor-3427 .elementor-element.elementor-element-23c86602 img{width:85%;}.elementor-3427 .elementor-element.elementor-element-7fc1d8a7 .elementor-repeater-item-4f86074.elementor-social-icon{background-color:#008228;}.elementor-3427 .elementor-element.elementor-element-7fc1d8a7 .elementor-repeater-item-f24969f.elementor-social-icon{background-color:#FF6700;}.elementor-3427 .elementor-element.elementor-element-7fc1d8a7{--grid-template-columns:repeat(0, auto);text-align:center;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 0px;padding:0px 0px 0px 0px;--icon-size:20px;--grid-column-gap:10px;--grid-row-gap:0px;}.elementor-3427 .elementor-element.elementor-element-7fc1d8a7.elementor-element{--align-self:center;}.elementor-3427 .elementor-element.elementor-element-7fc1d8a7 .elementor-social-icon{--icon-padding:0.4em;}@media(min-width:768px){.elementor-3427 .elementor-element.elementor-element-3bc7af98{--width:25%;}.elementor-3427 .elementor-element.elementor-element-10771f84{--width:25%;}.elementor-3427 .elementor-element.elementor-element-f8357ed{--width:25%;}.elementor-3427 .elementor-element.elementor-element-2431590f{--width:25%;}.elementor-3427 .elementor-element.elementor-element-3de56261{--width:100%;}}@media(max-width:1024px){.elementor-3427 .elementor-element.elementor-element-0e62c8a{--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-3427 .elementor-element.elementor-element-3de56261{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-3427 .elementor-element.elementor-element-0e62c8a{--min-height:50px;}.elementor-3427 .elementor-element.elementor-element-528118cf{--margin-top:0vw;--margin-bottom:0vw;--margin-left:5vw;--margin-right:0vw;}.elementor-3427 .elementor-element.elementor-element-528118cf.e-con{--align-self:center;}.elementor-3427 .elementor-element.elementor-element-3de56261{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}@media(min-width:1025px){.elementor-3427 .elementor-element.elementor-element-540113a:not(.elementor-motion-effects-element-type-background), .elementor-3427 .elementor-element.elementor-element-540113a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}.elementor-3427 .elementor-element.elementor-element-ebfb4a1:not(.elementor-motion-effects-element-type-background), .elementor-3427 .elementor-element.elementor-element-ebfb4a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for nav-menu, class: .elementor-element-e6b31e9 *//* 1. Couleur du texte par défaut + pas de soulignement */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu a {
    color: #16181B !important;
    text-decoration: none !important;
}

/* 2. Couleur du texte au survol et page active (Menu Principal) */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a:hover,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a.elementor-item-active,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu .current-menu-item > a {
    color: #ec6c04 !important;
}

/* 3. Couleur de la barre Elementor (Pointer) en orange */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu--main .elementor-item::before,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu--main .elementor-item::after {
    background-color: #ec6c04 !important;
}

/* 4. Le conteneur du sous-menu (Arrondis, volume et position) */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu--main .elementor-nav-menu--dropdown {
    width: 100% !important;
    min-width: 100% !important; 
    left: 0 !important; 
    margin-top: 5px !important; /* Décolle légèrement le menu pour le volume */
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.05) !important; /* Ombre très légère et diffuse */
    border-radius: 10px !important; /* Angles joliment arrondis */
    border: none !important;
    background-color: #ffffff !important; 
    overflow: hidden !important; /* Empêche le fond des liens de déborder des coins arrondis */
}

/* 5. Apparence normale des liens dans le sous-menu */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu--main .elementor-nav-menu--dropdown a {
    padding: 12px 10px !important; 
    text-align: center !important; 
    white-space: normal !important; 
    background-color: #ffffff !important; 
    color: #16181B !important; 
}

/* 6. Au survol des sous-menus (Fond blanc, texte orange) */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu--main .elementor-nav-menu--dropdown a:hover,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu--main .elementor-nav-menu--dropdown a.elementor-item-active {
    background-color: #ffffff !important; 
    color: #ec6c04 !important; 
}

/* 7. Couleur de la flèche de sous-menu par défaut (Noire) */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu .sub-arrow,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu .sub-arrow i {
    color: #16181B !important;
}
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu .sub-arrow svg {
    fill: #16181B !important;
}

/* 8. Couleur de la flèche au survol et sur la page active (Orange) */
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a:hover .sub-arrow,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a:hover .sub-arrow i,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a.elementor-item-active .sub-arrow,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a.elementor-item-active .sub-arrow i,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu .current-menu-item > a .sub-arrow,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu .current-menu-item > a .sub-arrow i {
    color: #ec6c04 !important;
}

.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a:hover .sub-arrow svg,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu > li > a.elementor-item-active .sub-arrow svg,
.elementor-3427 .elementor-element.elementor-element-e6b31e9 .elementor-nav-menu .current-menu-item > a .sub-arrow svg {
    fill: #ec6c04 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-21c767c *//* 1. S'assurer que le conteneur parent garde le texte à l'intérieur */
.card-image-wrapper {
    position: relative !important; 
}

/* ========================================================
   GESTION DU TEXTE SUR L'IMAGE (Titre + Description adaptative)
======================================================== */

/* Le conteneur principal reste ancré en bas */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-image-wrapper .card-text-wrapper {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 15px !important;
    z-index: 10 !important;
    text-align: center !important;
    /* On supprime ici le transform: translateY */
}

/* Le titre */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-image-wrapper .card-title {
    position: relative !important;
    margin: 0 !important; 
    line-height: 1.4 !important;
    word-wrap: break-word !important;
    color: #ffffff !important;
}

/* LE TIROIR MAGIQUE GRID : C'est lui qui gère l'animation fluide */
.elementor-3427 .elementor-element.elementor-element-21c767c .description-grid-animator {
    display: grid !important;
    grid-template-rows: 0fr !important; /* Hauteur à zéro par défaut */
    transition: grid-template-rows 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* La description elle-même */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-description {
    min-height: 0 !important; /* Obligatoire pour que le hack Grid fonctionne */
    overflow: hidden !important; /* Masque le texte tant que la grille est fermée */
    opacity: 0 !important;
    color: #f1f1f1 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    transition: opacity 0.4s ease !important;
}

/* ========================================================
   ANIMATIONS AU SURVOL (Hauteur dynamique)
======================================================== */

/* La grille s'ouvre à la taille exacte de son contenu (1fr) */
.elementor-3427 .elementor-element.elementor-element-21c767c .action-card:hover .description-grid-animator {
    grid-template-rows: 1fr !important;
}

/* Le texte devient visible et on lui ajoute un petit espace avec le titre */
.elementor-3427 .elementor-element.elementor-element-21c767c .action-card:hover .card-description {
    opacity: 1 !important;
    padding-top: 8px !important; 
}

/* ========================================================
   MISE EN PAGE CSS GRID (Verrouillé à 3 par ligne)
======================================================== */
.elementor-3427 .elementor-element.elementor-element-21c767c .actions-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* Verrouille à 3 colonnes strictement identiques */
    gap: 30px !important; /* L'espacement entre les cartes */
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 80px !important; /* La marge de sécurité sur les côtés qu'on a ajoutée */
    box-sizing: border-box !important;
}

/* ========================================================
   STYLE ET CORRECTION DES CARTES
======================================================== */

/* ========================================================
   STYLE DE LA CARTE (Maintenant 3 par ligne)
======================================================== */
/* ========================================================
   STYLE DE LA CARTE 
======================================================== */
.elementor-3427 .elementor-element.elementor-element-21c767c .action-card {
    width: 100% !important; /* La carte remplit sa colonne dans la grille */
    text-decoration: none !important; 
    color: inherit !important; 
    display: flex !important; /* On garde flex ICI pour organiser le contenu interne de la carte */
    flex-direction: column !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important; 
}

/* La carte se soulève légèrement au survol pour indiquer qu'elle est cliquable */
.elementor-3427 .elementor-element.elementor-element-21c767c .action-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
}

/* --- CORRECTION DU DÉBORDEMENT --- */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-image-wrapper {
    position: relative !important;
    height: 250px !important; 
    overflow: hidden !important; 
    background-color: #333; 
}

/* --- ASSURER L'UNIFORMITÉ DES IMAGES --- */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-img {
    width: 100% !important;
    height: 250px !important; 
    object-fit: cover !important; 
    display: block !important;
}

/* --- AJOUT D'UN VOILE SOMBRE --- */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    /* Le dégradé commence à 40% et se termine avec une opacité de 80% */
    background: linear-gradient(to bottom, rgba(0,0,0,0) 40%, rgba(0,0,0,0.6) 100%) !important;
    z-index: 5 !important;
}

.elementor-3427 .elementor-element.elementor-element-21c767c .action-card:hover .card-overlay {
    background: linear-gradient(to bottom, rgba(0,0,0,0) 10%, rgba(0,0,0,1) 100%) !important;
}

/* --- STYLE DU BANDEAU BLANC --- */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-content {
    padding: 20px !important;
    text-align: center !important;
    margin-top: auto !important; 
    background-color: #ffffff !important; 
    border-top: 1px solid #eee; 
}

/* ========================================================
   NOUVEAUX BADGES DE SPÉCIFICITÉS
======================================================== */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-content {
    padding: 15px !important; /* Légèrement réduit pour bien centrer les badges */
    text-align: center !important;
    margin-top: auto !important; 
    background-color: #ffffff !important; 
    border-top: 1px solid #eee; 
}

/* Conteneur Flexbox pour aligner les badges proprement */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-specs {
    display: flex !important;
    flex-wrap: wrap !important; /* Permet le passage à la ligne si la carte est petite */
    justify-content: center !important;
    gap: 8px !important; /* Espace entre les badges */
}

/* Le design des petits tags */
.elementor-3427 .elementor-element.elementor-element-21c767c .spec-badge {
    background-color: #f5f5f5 !important; /* Gris très clair */
    color: #444444 !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    border: 1px solid #e0e0e0 !important;
}

/* ========================================================
   RESPONSIVE (ADAPTATION ÉCRANS POUR LA GRILLE)
======================================================= */

@media (max-width: 1024px) {
    .elementor-3427 .elementor-element.elementor-element-21c767c .actions-grid {
        grid-template-columns: repeat(2, 1fr) !important; /* Force 2 cartes par ligne sur tablette */
        padding: 0 50px !important;
        gap: 20px !important;
         
    
    }
}

@media (max-width: 768px) {
    .elementor-3427 .elementor-element.elementor-element-21c767c .actions-grid {
        grid-template-columns: 1fr !important; /* Force 1 seule carte par ligne sur mobile */
        padding: 0 30px !important; /* On réduit un peu les marges sur les côtés pour les téléphones */
    }
}

/* --- STYLE DU BADGE (Corrigé) --- */
.elementor-3427 .elementor-element.elementor-element-21c767c .card-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  /* --- CORRECTION ICI --- */
  display: flex; /* Active Flexbox */
  align-items: center; /* Centre verticalement le texte */
  justify-content: center; /* Centre horizontalement le texte */
  padding: 6px 16px; /* Vous pouvez garder le padding, Flexbox s'occupe du centrage intérieur */
  /* --- FIN CORRECTION --- */
  border-radius: 20px;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  z-index: 3;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* --- COULEURS DES BADGES (Tags) --- */
/* Vous pouvez créer autant de couleurs que vous voulez ici */

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-vert {
  background-color: #5b7c5b; /* Vert "Formations & Pédagogie" */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-orange {
  background-color: #ff6a00; /* Orange "Projets & Réalisations" */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-bleu {
  background-color: #0073aa; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-jaune {
  background-color: #bfb602; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-rouge {
  background-color: #cc2504; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-gris {
  background-color: #87807f; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-violet {
  background-color: #3400a3; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-cyan {
  background-color: #02b09f; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-rose {
  background-color: #990278; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-citron {
  background-color: #55ab00; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-sable {
  background-color: #998a02; /* Exemple pour une autre catégorie */
}

.elementor-3427 .elementor-element.elementor-element-21c767c .badge-miku {
  background-color: #029969; /* Exemple pour une autre catégorie */
}
/* ========================================================
   SYSTÈME DE FILTRAGE (MASQUAGE DES CARTES)
======================================================== */
.elementor-3427 .elementor-element.elementor-element-21c767c .action-card.carte-masquee {
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ebfb4a1 *//* 1. S'assurer que le conteneur parent garde le texte à l'intérieur */
.card-image-wrapper {
    position: relative !important; 
}

/* 2. Réparer la superposition du texte et le forcer à s'afficher correctement sur l'image */
.card-image-wrapper .card-title {
    position: absolute !important;
    bottom: 15px !important; 
    left: 0 !important;
    right: 0 !important;
    line-height: 1.4 !important; 
    padding: 0 15px !important; 
    margin: 0 !important;
    text-align: center !important;
    z-index: 10 !important; 
    word-wrap: break-word !important; 
}

/* ========================================================
   MISE EN PAGE FLEXBOX (POUR LE CENTRAGE AUTOMATIQUE)
======================================================== */

.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .actions-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important; /* C'est ceci qui centre s'il y a 3 cartes ou moins */
    gap: 30px !important; 
    width: 100% !important;
    margin: 0 auto !important;
}

/* ========================================================
   STYLE ET CORRECTION DES CARTES
======================================================== */

.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .action-card {
    width: calc(25% - 23px) !important; /* Définit la taille pour 4 cartes par ligne */
    display: flex !important;
    flex-direction: column !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

/* --- CORRECTION DU DÉBORDEMENT --- */
.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .card-image-wrapper {
    position: relative !important;
    height: 250px !important; 
    overflow: hidden !important; 
    background-color: #333; 
}

/* --- ASSURER L'UNIFORMITÉ DES IMAGES --- */
.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .card-img {
    width: 100% !important;
    height: 250px !important; 
    object-fit: cover !important; 
    display: block !important;
}

/* --- AJOUT D'UN VOILE SOMBRE --- */
.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .card-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.7) 100%) !important;
    z-index: 5 !important;
}

/* --- STYLE DU BANDEAU BLANC --- */
.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .card-content {
    padding: 20px !important;
    text-align: center !important;
    margin-top: auto !important; 
    background-color: #ffffff !important; 
    border-top: 1px solid #eee; 
}

/* --- STYLE DU BOUTON CTA --- */
.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .card-btn {
    display: inline-block !important;
    padding: 12px 24px !important;
    background-color: #d3D3d3 !important; 
    color: #000000 !important;
    text-decoration: none !important;
    border-radius: 20px !important;
    font-weight: bold !important;
    font-size: 14px !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

.elementor-3427 .elementor-element.elementor-element-ebfb4a1 .card-btn:hover {
    color: #ffffff !important;
    background-color: #E64A19 !important; 
}

/* ========================================================
   RESPONSIVE (ADAPTATION ÉCRANS)
======================================================= */

@media (max-width: 1024px) {
    .elementor-3427 .elementor-element.elementor-element-ebfb4a1 .actions-grid {
        gap: 20px !important;
    }
    .elementor-3427 .elementor-element.elementor-element-ebfb4a1 .action-card {
        width: calc(50% - 10px) !important; /* 2 cartes par ligne sur tablette */
    }
}

@media (max-width: 768px) {
    .elementor-3427 .elementor-element.elementor-element-ebfb4a1 .actions-grid {
        gap: 20px !important;
    }
    .elementor-3427 .elementor-element.elementor-element-ebfb4a1 .action-card {
        width: 100% !important; /* 1 carte par ligne sur mobile */
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-7a543e4e *//* Supprime le soulignement des liens dans le footer */
.a-propos-links a, 
footer a, 
a {
    text-decoration: none !important;
}

/* Optionnel : Conserver un effet de survol pour l'accessibilité */
.a-propos-links a:hover, 
footer a:hover {
    text-decoration: underline !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-36ef8c29 *//* Supprime le soulignement des liens dans le footer */
.a-propos-links a, 
footer a, 
a {
    text-decoration: none !important;
}

/* Optionnel : Conserver un effet de survol pour l'accessibilité */
.a-propos-links a:hover, 
footer a:hover {
    text-decoration: underline !important;
}/* End custom CSS */