.elementor-16479 .elementor-element.elementor-element-1fc6bc7{--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;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0.4%;--padding-bottom:0.4%;--padding-left:02%;--padding-right:02%;}.elementor-16479 .elementor-element.elementor-element-1fc6bc7:not(.elementor-motion-effects-element-type-background), .elementor-16479 .elementor-element.elementor-element-1fc6bc7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-16479 .elementor-element.elementor-element-b8ce5cb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16479 .elementor-element.elementor-element-e5e5f71{--grid-template-columns:repeat(0, auto);text-align:right;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 05px;--icon-size:20px;--grid-column-gap:15px;--grid-row-gap:0px;}.elementor-16479 .elementor-element.elementor-element-e5e5f71 .elementor-social-icon{background-color:#FFFFFF00;--icon-padding:0em;}.elementor-16479 .elementor-element.elementor-element-e5e5f71 .elementor-social-icon:hover{background-color:#FFFFFF00;}.elementor-16479 .elementor-element.elementor-element-e5e5f71 .elementor-social-icon:hover i{color:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-e5e5f71 .elementor-social-icon:hover svg{fill:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-8ac6b03{--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:flex-end;--align-items:flex-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-16479 .elementor-element.elementor-element-7429808{--display:flex;}.elementor-16479 .elementor-element.elementor-element-3fbb2a3{--display:flex;}.elementor-16479 .elementor-element.elementor-element-0526298{--display:flex;}.elementor-16479 .elementor-element.elementor-element-ecd1c07{--display:flex;}.elementor-16479 .elementor-element.elementor-element-25d5c97{--display:flex;}.elementor-16479 .elementor-element.elementor-element-11a8dbc{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:flex-end;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:flex-end;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-font-size:14px;--n-menu-title-color-normal:var( --e-global-color-6534bf7 );--n-menu-divider-content:"";--n-menu-divider-style:solid;--n-menu-divider-color:var( --e-global-color-6534bf7 );--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-16479 .elementor-element.elementor-element-11a8dbc.elementor-element{--align-self:flex-end;}.elementor-16479 .elementor-element.elementor-element-11a8dbc > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-16479 .elementor-element.elementor-element-11a8dbc > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-16479 .elementor-element.elementor-element-11a8dbc > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Montserrat", Sans-serif;font-weight:600;text-transform:uppercase;}.elementor-16479 .elementor-element.elementor-element-11a8dbc {--n-menu-title-color-hover:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-c3dea90{--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:flex-end;--align-items:flex-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right: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 );text-transform:var( --e-global-typography-primary-text-transform );color:var( --e-global-color-primary );}.elementor-16479 .elementor-element.elementor-element-68694e9.elementor-element{--align-self:center;}.elementor-16479 .elementor-element.elementor-element-68694e9 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:700;text-transform:lowercase;color:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-79e0356{--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 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0.4%;--padding-bottom:0.4%;--padding-left:2%;--padding-right:2%;}.elementor-16479 .elementor-element.elementor-element-79e0356:not(.elementor-motion-effects-element-type-background), .elementor-16479 .elementor-element.elementor-element-79e0356 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-4e1411d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16479 .elementor-element.elementor-element-4e1411d.e-con{--align-self:center;}.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-16479 .elementor-element.elementor-element-7d697d8{padding:10px 05px 10px 05px;text-align:start;}.elementor-16479 .elementor-element.elementor-element-7d697d8 img{width:100%;}.elementor-16479 .elementor-element.elementor-element-3e1ca95{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16479 .elementor-element.elementor-element-3e1ca95.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-16479 .elementor-element.elementor-element-691147a{--display:flex;}.elementor-16479 .elementor-element.elementor-element-e7288df{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16479 .elementor-element.elementor-element-8c7239d{--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-16479 .elementor-element.elementor-element-3ad1d6c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16479 .elementor-element.elementor-element-5dc97c8{--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-16479 .elementor-element.elementor-element-62a1c33{--display:flex;}.elementor-16479 .elementor-element.elementor-element-efe342c{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-16479 .elementor-element.elementor-element-8933565{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16479 .elementor-element.elementor-element-8933565.e-con{--align-self:center;}.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-16479 .elementor-element.elementor-element-978f9a0 .elementor-button{background-color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;border-radius:3px 3px 3px 3px;}.elementor-16479 .elementor-element.elementor-element-978f9a0 .elementor-button:hover, .elementor-16479 .elementor-element.elementor-element-978f9a0 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-978f9a0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16479 .elementor-element.elementor-element-978f9a0 .elementor-button:hover svg, .elementor-16479 .elementor-element.elementor-element-978f9a0 .elementor-button:focus svg{fill:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-2b54b10{--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 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0.4%;--padding-bottom:0%;--padding-left:1%;--padding-right:1%;}.elementor-16479 .elementor-element.elementor-element-2b54b10:not(.elementor-motion-effects-element-type-background), .elementor-16479 .elementor-element.elementor-element-2b54b10 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-9f5153b{--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:space-between;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:5;}.elementor-16479 .elementor-element.elementor-element-eff0f09 img{width:200px;}.elementor-widget-ucaddon_ue_side_menu .uc-side-menu-title{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu .uc-side-menu-items ul a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu .uc-side-menu-items ul ul li a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu .uc-side-menu-items ul ul ul li a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu .uc-side-menu-items ul ul ul ul li a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu ul.uc-list-menu li.current-menu-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu .side-menu-search-holder input{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu .side-menu-button{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_ue_side_menu .sub-menu .ue-back-link a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items{background-color:#FFFFFF;background-image:url("https://training.thecamp.fr/wp-content/uploads/2025/09/cropped-telechargement-1-150x150.png");background-position:245px 545px;background-repeat:no-repeat;background-size:25% auto;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .ue_side_menu_overlay{background-color:rgba(0, 0, 0, 0.60);}.elementor-16479 .elementor-element.elementor-element-74b8c6b > .elementor-widget-container{margin:-14px -14px -14px -14px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b{z-index:9999999999;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-menu-button-wrapper{z-index:10;justify-content:center;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul a{flex-direction:row;padding:10px 0px 10px 0px;background-color:rgba(255, 255, 255, 0);font-family:"inter", Sans-serif;font-size:16px;font-weight:500;color:#2B2B33;margin:5px 30px 5px 30px;border-style:none;border-radius:5px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-holder{text-align:left;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .open_side_menu{width:70px;height:70px;font-size:62px;background-color:#646AF100;color:var( --e-global-color-secondary );border-radius:100px;padding:15px 15px 15px 15px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .open_side_menu_toggle{background-color:var( --e-global-color-secondary );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .open_side_menu svg{fill:var( --e-global-color-secondary );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .open_side_menu:hover{color:var( --e-global-color-text );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .open_side_menu:hover .open_side_menu_toggle{background-color:var( --e-global-color-text );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .open_side_menu:hover svg{fill:var( --e-global-color-text );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-title{font-family:"Montserrat", Sans-serif;font-weight:500;padding:20px 20px 20px 20px;background-color:#00000021;color:#ffffff;border-style:solid;border-width:0px 0px 1px 0px;border-color:rgba(255, 255, 255, 0.39);}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-close-side-menu{font-size:24px;top:0px;color:#2B2B33;width:50px;height:50px;border-radius:0px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-close-side-menu svg{fill:#2B2B33;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-close-side-menu:hover{color:#FFFFFF;background-color:var( --e-global-color-primary );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-close-side-menu:hover svg{fill:#FFFFFF;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-menu-item-pointer svg{width:12px;height:12px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-menu-item-pointer{font-size:12px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul a:hover{color:var( --e-global-color-secondary );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .menu-item > a{justify-content:start;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul li a{font-family:"inter", Sans-serif;font-size:16px;font-weight:500;line-height:1.8em;padding:10px 0px 10px 20px;color:#2B2B33;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul li a:hover{color:var( --e-global-color-primary );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul ul li a{font-family:"inter", Sans-serif;font-size:16px;font-weight:500;line-height:1.8em;padding:10px 0px 10px 50px;color:#2B2B33;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul ul li a:hover{color:var( --e-global-color-primary );}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul ul ul li a{font-family:"inter", Sans-serif;font-size:16px;font-weight:500;line-height:1.8em;padding:10px 0px 10px 80px;color:#2B2B33;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul ul ul li a:hover{color:var( --e-global-color-primary );}.elementor-16479 .elementor-element.elementor-element-74b8c6b ul.uc-list-menu li.current-menu-item > a{color:#2B2B33;font-family:"inter", Sans-serif;font-size:16px;font-weight:500;line-height:1.8em;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button{padding:2% 2% 2% 2%;background-color:var( --e-global-color-6f8c44b );color:var( --e-global-color-text );border-style:none;font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );text-align:center;border-radius:5px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-buttons{gap:5px;margin:20px 10px 22px 10px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button:hover{background-color:var( --e-global-color-text );color:#FFFFFF;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button-icon svg{fill:#2B2B33;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button:hover .side-menu-button-icon svg{fill:#FFFFFF;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button-icon{font-size:15px;margin-bottom:0px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .ue_logo img{width:200px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .ue_logo{margin:50px 40px 9px 30px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-before{width:100%;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-after{width:100%;}.elementor-16479 .elementor-element.elementor-element-0a30042{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16479 .elementor-element.elementor-element-fd1dc9c .elementor-button{background-color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;border-radius:3px 3px 3px 3px;}.elementor-16479 .elementor-element.elementor-element-fd1dc9c .elementor-button:hover, .elementor-16479 .elementor-element.elementor-element-fd1dc9c .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-6534bf7 );}.elementor-16479 .elementor-element.elementor-element-fd1dc9c .elementor-button:hover svg, .elementor-16479 .elementor-element.elementor-element-fd1dc9c .elementor-button:focus svg{fill:var( --e-global-color-6534bf7 );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-16479 .elementor-element.elementor-element-1fc6bc7{--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;--padding-top:1%;--padding-bottom:1%;--padding-left:1%;--padding-right:1%;}.elementor-16479 .elementor-element.elementor-element-b8ce5cb{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-16479 .elementor-element.elementor-element-e5e5f71{text-align:center;width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-16479 .elementor-element.elementor-element-e5e5f71.elementor-element{--align-self:flex-start;}.elementor-16479 .elementor-element.elementor-element-11a8dbc.elementor-element{--align-self:center;}.elementor-16479 .elementor-element.elementor-element-11a8dbc{--n-menu-title-font-size:10px;}.elementor-16479 .elementor-element.elementor-element-79e0356{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:1%;--padding-bottom:1%;--padding-left:1%;--padding-right:1%;}.elementor-16479 .elementor-element.elementor-element-7d697d8{text-align:center;}.elementor-16479 .elementor-element.elementor-element-7d697d8 img{width:25%;}.elementor-16479 .elementor-element.elementor-element-8933565{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-16479 .elementor-element.elementor-element-2b54b10{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:1%;--padding-bottom:1%;--padding-left:1%;--padding-right:1%;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items{background-position:675px 679px;background-size:50px auto;}.elementor-16479 .elementor-element.elementor-element-0a30042{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}@media(max-width:767px){.elementor-16479 .elementor-element.elementor-element-1fc6bc7{--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-16479 .elementor-element.elementor-element-b8ce5cb{--width:100%;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-16479 .elementor-element.elementor-element-e5e5f71{text-align:center;--icon-size:20px;}.elementor-16479 .elementor-element.elementor-element-e5e5f71.elementor-element{--align-self:center;}.elementor-16479 .elementor-element.elementor-element-79e0356{--padding-top:2%;--padding-bottom:2%;--padding-left:2%;--padding-right:2%;}.elementor-16479 .elementor-element.elementor-element-7d697d8 img{width:50%;}.elementor-16479 .elementor-element.elementor-element-8933565{--padding-top:1%;--padding-bottom:1%;--padding-left:0%;--padding-right:0%;}.elementor-16479 .elementor-element.elementor-element-978f9a0 .elementor-button{font-size:12px;padding:8px 8px 8px 8px;}.elementor-16479 .elementor-element.elementor-element-2b54b10{--padding-top:2%;--padding-bottom:2%;--padding-left:2%;--padding-right:2%;}.elementor-16479 .elementor-element.elementor-element-eff0f09 img{width:174px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items{background-position:280px 498px;background-size:50px auto;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .open_side_menu{width:63px;height:63px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-title{font-size:14px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-close-side-menu{top:9px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul a{font-size:14px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul li a{font-size:16px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul ul li a{font-size:16px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items ul ul ul ul li a{font-size:16px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b ul.uc-list-menu li.current-menu-item > a{font-size:16px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button{padding:6px 2px 6px 2px;}.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button-icon{font-size:20px;margin-bottom:5px;}.elementor-16479 .elementor-element.elementor-element-0a30042{--padding-top:1%;--padding-bottom:1%;--padding-left:0%;--padding-right:0%;}.elementor-16479 .elementor-element.elementor-element-fd1dc9c .elementor-button{font-size:12px;padding:8px 8px 8px 8px;}}@media(min-width:768px){.elementor-16479 .elementor-element.elementor-element-b8ce5cb{--width:10%;}.elementor-16479 .elementor-element.elementor-element-8ac6b03{--width:84%;}.elementor-16479 .elementor-element.elementor-element-c3dea90{--width:6%;}.elementor-16479 .elementor-element.elementor-element-4e1411d{--width:15%;}.elementor-16479 .elementor-element.elementor-element-3e1ca95{--width:80%;}.elementor-16479 .elementor-element.elementor-element-8933565{--width:15%;}.elementor-16479 .elementor-element.elementor-element-0a30042{--width:17%;}}@media(max-width:1024px) and (min-width:768px){.elementor-16479 .elementor-element.elementor-element-b8ce5cb{--width:100%;}.elementor-16479 .elementor-element.elementor-element-8ac6b03{--width:85%;}.elementor-16479 .elementor-element.elementor-element-c3dea90{--width:85%;}.elementor-16479 .elementor-element.elementor-element-4e1411d{--width:100%;}.elementor-16479 .elementor-element.elementor-element-3e1ca95{--width:100%;}.elementor-16479 .elementor-element.elementor-element-8933565{--width:100%;}.elementor-16479 .elementor-element.elementor-element-0a30042{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-d1b4b5d *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-d1b4b5d" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-018d516 *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-018d516" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d1b4b5d *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-d1b4b5d" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-018d516 *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-018d516" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d1b4b5d *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-d1b4b5d" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-018d516 *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-018d516" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d1b4b5d *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-d1b4b5d" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-018d516 *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-018d516" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d1b4b5d *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-d1b4b5d" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-d1b4b5d .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-018d516 *//* ===================================================================
   CSS PERSONNALISÉ — Widget "Code court" (mega menu Programmes de formation)
   À coller dans : sélectionner le widget > Avancé > CSS personnalisé
   ".elementor-16479 .elementor-element.elementor-element-018d516" = converti automatiquement par Elementor en la classe de CE widget.
   Modifiable librement ici, sans toucher au plugin ni au code du site.
   =================================================================== */

/* --- STRUCTURE DE BASE (ne pas supprimer : nécessaire à la mise en page) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { display: grid; grid-template-columns: 1fr 1fr 1fr 30%; gap: 4%; width: 100%; padding: 3% 0; box-sizing: border-box; font-family: inherit; } /* 3 colonnes de thématiques (au lieu de 2) + le bloc de droite : tout tient sans scroller la page */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm * { box-sizing: border-box; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group { margin-bottom: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group:last-child { margin-bottom: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group ul { list-style: none; margin: 0; padding: 0; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group li { margin-bottom: 2px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { display: flex; justify-content: space-between; gap: 8px; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { flex: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { min-height: 280px; align-self: start; position: relative; } /* ne s'étire plus sur toute la hauteur de la colonne : hauteur = son propre contenu ; position relative pour placer la croix de fermeture */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { height: 110px; background-size: cover; background-position: center; }
/* Carousel des 3 dernières formations (état par défaut) : un seul slide visible à la fois, défilement automatique en JS. */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide { display: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-carousel-slide.is-active { display: block; }
/* Croix de fermeture sur le panneau noir (formations d'une thématique) : retour à "Dernières formations en ligne". */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close { position: absolute; top: 5%; right: 5%; width: 20px; height: 20px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-close:hover { background: rgba(255, 255, 255, 0.15); }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { display: block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title:hover { text-decoration: underline; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { display: inline-block; text-decoration: none; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { display: flex; align-items: center; gap: 6px; } /* pour aligner le picto devant le titre de catégorie */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { line-height: 1; } /* picto devant chaque titre de catégorie */
/* Liste des formations au survol : simples puces à la suite, pas de cartes.
   Hauteur limitée avec défilement interne : toutes les formations restent
   accessibles sans que le bloc ne s'étire indéfiniment (ex. 27 formations). */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list { list-style: disc; margin: 0; padding-left: 18px; max-height: 320px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar { width: 6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-track { background: transparent; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.4); border-radius: 10px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li { margin-bottom: 5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; text-decoration: none; }

/* --- ÉTAT SURVOL D'UNE THÉMATIQUE (le panneau bascule en noir pur / texte blanc) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active { background: #000000; color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-kicker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list-item { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-list li::marker { color: #fff; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side.tcmm-side-active .tcmm-empty { color: rgba(255, 255, 255, 0.7); }

/* --- COULEURS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { color: #646AF1; } /* titres de catégorie (IA & DATA, etc.) : violet, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { color: #000000; } /* texte des liens de thématiques : noir pur */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active { background: #E1E2FA; color: #000000; } /* survol/actif : fond violet clair pour repérer la thématique en cours */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { display: none; } /* comptage masqué (comptait aussi d'autres contenus que les formations, ex. formateurs) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a:hover .tcmm-count,
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a.tcmm-active .tcmm-count { color: #646AF1; opacity: 0.7; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { background: #E1E2FA; color: #15151A; } /* fond du panneau de droite : violet clair */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { color: #000000; } /* "DERNIÈRES FORMATIONS EN LIGNE" / nom de thématique en survol : noir, majuscule (cf. typographie) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb-placeholder { background: linear-gradient(135deg, #646AF1, #9b9fff); } /* si pas d'image */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { color: #15151A; } /* titre de la formation mise en avant — assombri car le fond du panneau n'est plus noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { color: #fff; background: #000000; } /* bouton "Découvrir" : fond noir */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta:hover { background: #3C4091; color: #fff; } /* survol : violet foncé (ajustable) */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list li::marker { color: #646AF1; } /* puce en violet */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { color: #15151A; } /* titre de formation dans la liste à puces */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { display: none; } /* durée masquée dans la liste au survol : plus de place pour le titre */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { color: rgba(21, 21, 26, 0.6); } /* assombri car le fond du panneau n'est plus noir */

/* --- TYPOGRAPHIE --- */
/* Aucun texte sous 14px (lisibilité/SEO) ; titres de formation en majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { font-size: 14px; font-weight: 500; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-count { font-size: 14px; font-weight: 600; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { font-size: 18px; font-weight: 700; line-height: 1.35; text-transform: uppercase; } /* titre de formation : majuscule */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { font-size: 14px; font-weight: 700; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-item { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.01em; } /* titre de formation : majuscule, graisse allégée pour un rendu moins massif */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-list-duree { font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-empty { font-size: 14px; font-style: italic; line-height: 1.5; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-icon { font-size: 14px; } /* taille du picto devant le titre de catégorie */

/* --- ARRONDIS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { border-radius: 6px; } /* fond au survol d'un lien */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { border-radius: 60px 30px 60px 30px; } /* panneau de droite : arrondi asymétrique, réduit pour un conteneur plus compact */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { border-radius: 8px; } /* vignette formation */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { border-radius: 5px; } /* bouton "Découvrir" */

/* --- ESPACEMENTS --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { padding: 6px 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { padding: 8%; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-kicker { margin-bottom: 12px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-thumb { margin-bottom: 14px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side-title { margin-bottom: 8px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { padding: 10px 18px; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group h4 { margin: 0 0 10px; }

/* --- TRANSITIONS (survol) --- */
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-group a { transition: background 0.15s, color 0.15s; }
.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-cta { transition: background 0.15s, color 0.15s; }

/* --- RESPONSIVE (ne pas supprimer : adaptation automatique tablette/mobile) --- */
@media (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr 1fr; }
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm-side { display: none; }
}
@media (max-width: 767px) {
	.elementor-16479 .elementor-element.elementor-element-018d516 .tcmm { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-978f9a0 */@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-978f9a0 .elementor-button {
		padding: 8px 20px !important;
		font-size: 13px !important;
	}
}/* End custom CSS */
/* Start custom CSS for ucaddon_ue_side_menu, class: .elementor-element-74b8c6b */.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-buttons{justify-content:space-between !important;margin-left:30px !important;margin-right:30px !important;}
.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button{flex:0 0 auto !important;width:auto !important;padding:10px !important;}
.elementor-16479 .elementor-element.elementor-element-74b8c6b .side-menu-button-icon{margin:0 !important;height:20px !important;line-height:20px !important;}
.elementor-16479 .elementor-element.elementor-element-74b8c6b .uc-side-menu-items{height:100vh !important;height:100dvh !important;max-height:100vh !important;max-height:100dvh !important;overflow-y:auto !important;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-fd1dc9c */@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-16479 .elementor-element.elementor-element-fd1dc9c .elementor-button {
		padding: 8px 20px !important;
		font-size: 13px !important;
	}
}/* End custom CSS */