.elementor-946 .elementor-element.elementor-element-6f5653c{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-6f5653c:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-6f5653c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B0F1A;}.elementor-946 .elementor-element.elementor-element-59a8795{--display:flex;--justify-content:center;--padding-top:0%;--padding-bottom:0%;--padding-left:6.5%;--padding-right:0%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-946 .elementor-element.elementor-element-ce66a34{padding:0px 0px 0px 0px;}.elementor-946 .elementor-element.elementor-element-ce66a34 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:17px;font-weight:400;text-transform:uppercase;color:#A11738;}.elementor-946 .elementor-element.elementor-element-2c79e24 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:48px;font-weight:400;text-transform:uppercase;line-height:51px;color:#FFFFFF;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-946 .elementor-element.elementor-element-4146b06{--divider-border-style:solid;--divider-color:#A11738;--divider-border-width:3px;margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;}.elementor-946 .elementor-element.elementor-element-4146b06 .elementor-divider-separator{width:13%;}.elementor-946 .elementor-element.elementor-element-4146b06 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-946 .elementor-element.elementor-element-6f37595{--display:flex;--min-height:408px;}.elementor-946 .elementor-element.elementor-element-6f37595:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-6f37595 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nettrium.jl-communication.fr/wp-content/uploads/2026/10/telechargement-9.avif");background-position:center center;background-size:cover;}.elementor-946 .elementor-element.elementor-element-fa44919{--display:flex;--padding-top:70px;--padding-bottom:110px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-79db563{--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;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-d50e22b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-e67041f{padding:0px 0px 0px 0px;}.elementor-946 .elementor-element.elementor-element-e67041f .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:19px;font-weight:400;text-transform:uppercase;color:#A11738;}.elementor-946 .elementor-element.elementor-element-66e8102 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:41px;font-weight:400;text-transform:uppercase;line-height:51px;color:#28285B;}.elementor-946 .elementor-element.elementor-element-e90d8c7{--divider-border-style:solid;--divider-color:#A11738;--divider-border-width:3px;margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;}.elementor-946 .elementor-element.elementor-element-e90d8c7 .elementor-divider-separator{width:25%;}.elementor-946 .elementor-element.elementor-element-e90d8c7 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-946 .elementor-element.elementor-element-14239ee{--display:flex;--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-946 .elementor-element.elementor-element-78159c5{width:var( --container-widget-width, 80% );max-width:80%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;--container-widget-width:80%;--container-widget-flex-grow:0;text-align:justify;}.elementor-946 .elementor-element.elementor-element-a63913f{--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;border-style:solid;--border-style:solid;border-width:1px 0px 1px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#7A7A7A38;--border-color:#7A7A7A38;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-icon i{color:#A11738;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-icon svg{fill:#A11738;transition:fill 0.3s;}.elementor-946 .elementor-element.elementor-element-d5d9147{--e-icon-list-icon-size:11px;--icon-vertical-offset:0px;}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-item > a{font-family:"Josefin Sans", Sans-serif;font-size:13px;font-weight:400;text-transform:uppercase;}.elementor-946 .elementor-element.elementor-element-d5d9147 .elementor-icon-list-text{color:#9F9F9F;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-6e306d9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-946 .elementor-element.elementor-element-6e306d9 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:21px;font-weight:400;text-transform:none;color:#28285B;}.elementor-946 .elementor-element.elementor-element-d10753f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Roboto", Sans-serif;font-size:13px;font-weight:400;color:#7A7A7A;}.elementor-946 .elementor-element.elementor-element-4e384e4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-946 .elementor-element.elementor-element-4e384e4 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:21px;font-weight:400;text-transform:none;color:#A11738;}.elementor-946 .elementor-element.elementor-element-f14f3f4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-946 .elementor-element.elementor-element-f14f3f4 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:21px;font-weight:400;text-transform:none;color:#28285B;}.elementor-946 .elementor-element.elementor-element-fadd525{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Roboto", Sans-serif;font-size:13px;font-weight:400;}.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-946 .elementor-element.elementor-element-faefc8c .elementor-button{background-color:#61CE7000;font-family:"Josefin Sans", Sans-serif;font-size:18px;font-weight:300;fill:#A11738;color:#A11738;border-style:none;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-946 .elementor-element.elementor-element-faefc8c .elementor-button:hover, .elementor-946 .elementor-element.elementor-element-faefc8c .elementor-button:focus{background-color:#FFFFFF;color:#A11738;border-color:#A11738;}.elementor-946 .elementor-element.elementor-element-faefc8c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-946 .elementor-element.elementor-element-faefc8c .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-946 .elementor-element.elementor-element-faefc8c .elementor-button:hover svg, .elementor-946 .elementor-element.elementor-element-faefc8c .elementor-button:focus svg{fill:#A11738;}.elementor-946 .elementor-element.elementor-element-d41f1d1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-8e7ba25{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-f66af01{--display:flex;--min-height:315px;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-f66af01:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-f66af01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nettrium.jl-communication.fr/wp-content/uploads/2026/10/telechargement-7.avif");background-position:center center;background-size:cover;}.elementor-946 .elementor-element.elementor-element-75fc0e2{background-color:#28285B;padding:5px 25px 5px 25px;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-946 .elementor-element.elementor-element-75fc0e2 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-75fc0e2 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-946 .elementor-element.elementor-element-75fc0e2 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-f9aa5bf{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-81db991{--display:flex;--min-height:315px;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-81db991:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-81db991 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nettrium.jl-communication.fr/wp-content/uploads/2026/10/telechargement-6.avif");background-position:center center;background-size:cover;}.elementor-946 .elementor-element.elementor-element-85acdc6{background-color:#28285B;padding:5px 25px 5px 25px;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-946 .elementor-element.elementor-element-85acdc6 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-85acdc6 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-946 .elementor-element.elementor-element-85acdc6 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-b2f2627{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-6fb867e{--display:flex;--min-height:315px;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-6fb867e:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-6fb867e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nettrium.jl-communication.fr/wp-content/uploads/2026/10/telechargement-5.avif");background-position:center center;background-size:cover;}.elementor-946 .elementor-element.elementor-element-000b407{background-color:#28285B;padding:5px 25px 5px 25px;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-946 .elementor-element.elementor-element-000b407 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-000b407 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-946 .elementor-element.elementor-element-000b407 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-5af0467{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-feb905e{--display:flex;--min-height:315px;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-feb905e:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-feb905e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nettrium.jl-communication.fr/wp-content/uploads/2026/10/telechargement-8.avif");background-position:center center;background-size:cover;}.elementor-946 .elementor-element.elementor-element-62c29c1{background-color:#28285B;padding:5px 25px 5px 25px;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-946 .elementor-element.elementor-element-62c29c1 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-62c29c1 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-946 .elementor-element.elementor-element-62c29c1 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-9018dab{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-7b95e07{--display:flex;--min-height:315px;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-7b95e07:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-7b95e07 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nettrium.jl-communication.fr/wp-content/uploads/2026/10/telechargement-9.avif");background-position:center center;background-size:cover;}.elementor-946 .elementor-element.elementor-element-8c0a100{background-color:#28285B;padding:5px 25px 5px 25px;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-946 .elementor-element.elementor-element-8c0a100 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-8c0a100 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-946 .elementor-element.elementor-element-8c0a100 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-5f4472d{--e-n-carousel-swiper-slides-gap:-36px;border-style:solid;border-width:3px 0px 0px 0px;border-color:#A11738;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:-49px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:-49px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;--e-n-carousel-arrow-normal-color:#A11738;}.elementor-946 .elementor-element.elementor-element-62fc563{--display:flex;--position:absolute;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);--padding-top:10px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;bottom:20px;--z-index:10;}.elementor-946 .elementor-element.elementor-element-62fc563:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-62fc563 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}body:not(.rtl) .elementor-946 .elementor-element.elementor-element-62fc563{right:30px;}body.rtl .elementor-946 .elementor-element.elementor-element-62fc563{left:30px;}.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-946 .elementor-element.elementor-element-22c9ec1{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-946 .elementor-element.elementor-element-22c9ec1 img{width:59%;}.elementor-946 .elementor-element.elementor-element-fc0fa50{padding:0px 0px 0px 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-fc0fa50 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:19px;font-weight:400;text-transform:uppercase;color:#28285B;}.elementor-946 .elementor-element.elementor-element-5729f13{--display:flex;--padding-top:70px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-5729f13:not(.elementor-motion-effects-element-type-background), .elementor-946 .elementor-element.elementor-element-5729f13 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-946 .elementor-element.elementor-element-1fac42b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-e5ac469{padding:0px 0px 0px 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-e5ac469 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:19px;font-weight:400;text-transform:uppercase;color:#A11738;}.elementor-946 .elementor-element.elementor-element-ba3a870{text-align:center;}.elementor-946 .elementor-element.elementor-element-ba3a870 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:41px;font-weight:400;text-transform:uppercase;line-height:51px;color:#FFFFFF;}.elementor-946 .elementor-element.elementor-element-4f8ed13{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -18px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;font-family:"Roboto", Sans-serif;font-weight:400;color:#CACACA;}.elementor-946 .elementor-element.elementor-element-943f82d{--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;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#FFFFFF2E;--border-color:#FFFFFF2E;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-bd349a4{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#FFFFFF2E;--border-color:#FFFFFF2E;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-946 .elementor-element.elementor-element-a2891c1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-a2891c1 img{width:100%;height:140px;object-fit:contain;object-position:center center;}.elementor-946 .elementor-element.elementor-element-20e6ccb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-20e6ccb .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:23px;font-weight:400;text-transform:none;color:#FFFFFF;}.elementor-946 .elementor-element.elementor-element-d1e58b5{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#CACACA;}.elementor-946 .elementor-element.elementor-element-a63d4e6{--display:flex;border-style:solid;--border-style:solid;border-width:0px 1px 0px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:1px;border-color:#FFFFFF2E;--border-color:#FFFFFF2E;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-946 .elementor-element.elementor-element-fa98554{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-fa98554 img{width:100%;height:140px;object-fit:contain;object-position:center center;}.elementor-946 .elementor-element.elementor-element-ee12670{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-ee12670 .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:23px;font-weight:400;text-transform:none;color:#FFFFFF;}.elementor-946 .elementor-element.elementor-element-d52a006{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#CACACA;}.elementor-946 .elementor-element.elementor-element-5e531c6{--display:flex;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#FFFFFF2E;--border-color:#FFFFFF2E;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-946 .elementor-element.elementor-element-898007b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-946 .elementor-element.elementor-element-898007b img{width:100%;height:140px;object-fit:contain;object-position:center center;}.elementor-946 .elementor-element.elementor-element-0080cca{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-0080cca .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:23px;font-weight:400;text-transform:none;color:#FFFFFF;}.elementor-946 .elementor-element.elementor-element-dea5c25{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#CACACA;}.elementor-946 .elementor-element.elementor-element-ca5fe3c{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#FFFFFF2E;--border-color:#FFFFFF2E;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-946 .elementor-element.elementor-element-186a3ec{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-186a3ec img{width:100%;height:140px;object-fit:contain;object-position:center center;}.elementor-946 .elementor-element.elementor-element-fce6a2d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;text-align:center;}.elementor-946 .elementor-element.elementor-element-fce6a2d .elementor-heading-title{font-family:"Josefin Sans", Sans-serif;font-size:23px;font-weight:400;text-transform:none;color:#FFFFFF;}.elementor-946 .elementor-element.elementor-element-f0cc9f1{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#CACACA;}.elementor-946 .elementor-element.elementor-element-93cbb8b{--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:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(20px/2);}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(20px/2);}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(20px/2);}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-20px/2);}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-20px/2);}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-icon i{color:#A11738;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-icon svg{fill:#A11738;transition:fill 0.3s;}.elementor-946 .elementor-element.elementor-element-5aa8753{--e-icon-list-icon-size:11px;--icon-vertical-offset:0px;}.elementor-946 .elementor-element.elementor-element-5aa8753 .elementor-icon-list-text{color:#D1D1D1;transition:color 0.3s;}.elementor-946 .elementor-element.elementor-element-97ce792 .elementor-button{background-color:#A11738;font-family:"Josefin Sans", Sans-serif;font-size:18px;font-weight:300;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A11738;border-radius:0px 0px 0px 0px;padding:15px 30px 15px 30px;}.elementor-946 .elementor-element.elementor-element-97ce792 .elementor-button:hover, .elementor-946 .elementor-element.elementor-element-97ce792 .elementor-button:focus{background-color:#FFFFFF;color:#A11738;border-color:#A11738;}.elementor-946 .elementor-element.elementor-element-97ce792 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-946 .elementor-element.elementor-element-97ce792 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-946 .elementor-element.elementor-element-97ce792 .elementor-button:hover svg, .elementor-946 .elementor-element.elementor-element-97ce792 .elementor-button:focus svg{fill:#A11738;}@media(max-width:1024px){.elementor-946 .elementor-element.elementor-element-5f4472d{--e-n-carousel-swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-946 .elementor-element.elementor-element-6f5653c{--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-59a8795{--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;}.elementor-946 .elementor-element.elementor-element-ce66a34 .elementor-heading-title{font-size:17px;}.elementor-946 .elementor-element.elementor-element-2c79e24 .elementor-heading-title{font-size:29px;line-height:1.3em;}.elementor-946 .elementor-element.elementor-element-6f37595{--min-height:250px;}.elementor-946 .elementor-element.elementor-element-fa44919{--padding-top:70px;--padding-bottom:70px;--padding-left:15px;--padding-right:15px;}.elementor-946 .elementor-element.elementor-element-e67041f .elementor-heading-title{font-size:17px;}.elementor-946 .elementor-element.elementor-element-66e8102 .elementor-heading-title{font-size:31px;line-height:1.2em;}.elementor-946 .elementor-element.elementor-element-78159c5{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:justify;}.elementor-946 .elementor-element.elementor-element-a63913f{--gap:15px 15px;--row-gap:15px;--column-gap:15px;}.elementor-946 .elementor-element.elementor-element-d5d9147{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-946 .elementor-element.elementor-element-6e306d9{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -6px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-946 .elementor-element.elementor-element-6e306d9 .elementor-heading-title{font-size:21px;}.elementor-946 .elementor-element.elementor-element-4e384e4{width:100%;max-width:100%;}.elementor-946 .elementor-element.elementor-element-f14f3f4{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -6px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-946 .elementor-element.elementor-element-f14f3f4 .elementor-heading-title{font-size:21px;}.elementor-946 .elementor-element.elementor-element-5f4472d{--e-n-carousel-swiper-slides-to-display:1;}.elementor-946 .elementor-element.elementor-element-62fc563{--width:46%;bottom:-114px;}.elementor-946 .elementor-element.elementor-element-5729f13{--padding-top:60px;--padding-bottom:60px;--padding-left:15px;--padding-right:15px;}.elementor-946 .elementor-element.elementor-element-1fac42b{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-946 .elementor-element.elementor-element-e5ac469 .elementor-heading-title{font-size:17px;}.elementor-946 .elementor-element.elementor-element-ba3a870 .elementor-heading-title{font-size:31px;line-height:1.2em;}.elementor-946 .elementor-element.elementor-element-bd349a4{--width:50%;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;}.elementor-946 .elementor-element.elementor-element-20e6ccb .elementor-heading-title{font-size:19px;}.elementor-946 .elementor-element.elementor-element-d1e58b5{font-size:15px;}.elementor-946 .elementor-element.elementor-element-a63d4e6{--width:50%;border-width:0px 0px 1px 1px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:1px;}.elementor-946 .elementor-element.elementor-element-ee12670 .elementor-heading-title{font-size:19px;}.elementor-946 .elementor-element.elementor-element-d52a006{font-size:15px;}.elementor-946 .elementor-element.elementor-element-5e531c6{--width:50%;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}.elementor-946 .elementor-element.elementor-element-0080cca .elementor-heading-title{font-size:19px;}.elementor-946 .elementor-element.elementor-element-dea5c25{font-size:15px;}.elementor-946 .elementor-element.elementor-element-ca5fe3c{--width:50%;border-width:0px 0px 0px 1px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:1px;}.elementor-946 .elementor-element.elementor-element-fce6a2d .elementor-heading-title{font-size:19px;}.elementor-946 .elementor-element.elementor-element-f0cc9f1{font-size:15px;}.elementor-946 .elementor-element.elementor-element-97ce792{width:100%;max-width:100%;}.elementor-946 .elementor-element.elementor-element-97ce792.elementor-element{--align-self:center;}}@media(min-width:768px){.elementor-946 .elementor-element.elementor-element-fa44919{--content-width:87%;}.elementor-946 .elementor-element.elementor-element-62fc563{--width:14%;}.elementor-946 .elementor-element.elementor-element-5729f13{--content-width:87%;}}/* Start custom CSS for container, class: .elementor-element-6f37595 *//* Le conteneur image est découpé en biais sur son bord gauche :
   polygone en 4 points (sens horaire) :
   1) haut, décalé de 90px vers la droite  → c'est le biais
   2) haut-droite
   3) bas-droite
   4) bas-gauche au bord */
.elementor-946 .elementor-element.elementor-element-6f37595 {
    position: relative;          /* pour positionner la barre rouge dedans */
    clip-path: polygon(90px 0, 100% 0, 100% 100%, 0 100%);
}

/* La barre rouge : un pseudo-élément dessiné exactement le long du biais.
   On le découpe avec le MÊME biais, mais en bande de 6px :
   à 90px du bord en haut, à 0 en bas, largeur 6px.
   Comme le polygone suit le même tracé que celui du conteneur,
   la bande colle parfaitement au bord, quelle que soit la hauteur */
.elementor-946 .elementor-element.elementor-element-6f37595::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 96px;                 /* 90px de biais + 6px de bande */
    height: 100%;
    background: #A8213A;         /* rouge de la charte */
    clip-path: polygon(90px 0, 96px 0, 6px 100%, 0 100%);
    pointer-events: none;        /* ne gêne pas les clics */
    z-index: 1;                  /* au-dessus de l'image de fond */
}

/* Sur mobile, le conteneur passe en pleine largeur sous le texte :
   on enlève le biais et la barre */
@media (max-width: 767px) {
    .elementor-946 .elementor-element.elementor-element-6f37595 {
        clip-path: none;
    }
    .elementor-946 .elementor-element.elementor-element-6f37595::before {
        display: none;
    }
}
/* Le conteneur image est découpé en biais sur son bord gauche :
   polygone en 4 points (sens horaire) :
   1) haut, décalé de 90px vers la droite  → c'est le biais
   2) haut-droite
   3) bas-droite
   4) bas-gauche au bord */
.elementor-946 .elementor-element.elementor-element-6f37595 {
    position: relative;          /* pour positionner la barre rouge dedans */
    clip-path: polygon(90px 0, 100% 0, 100% 100%, 0 100%);
}

/* La barre rouge : un pseudo-élément dessiné exactement le long du biais.
   On le découpe avec le MÊME biais, mais en bande de 6px :
   à 90px du bord en haut, à 0 en bas, largeur 6px.
   Comme le polygone suit le même tracé que celui du conteneur,
   la bande colle parfaitement au bord, quelle que soit la hauteur */
.elementor-946 .elementor-element.elementor-element-6f37595::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 96px;                 /* 90px de biais + 6px de bande */
    height: 100%;
    background: #A8213A;         /* rouge de la charte */
    clip-path: polygon(90px 0, 96px 0, 6px 100%, 0 100%);
    pointer-events: none;        /* ne gêne pas les clics */
    z-index: 1;                  /* au-dessus de l'image de fond */
}

/* Sur mobile, le conteneur passe en pleine largeur sous le texte :
   on enlève le biais et la barre */
@media (max-width: 767px) {
    .elementor-946 .elementor-element.elementor-element-6f37595 {
        clip-path: none;
    }
    .elementor-946 .elementor-element.elementor-element-6f37595::before {
        display: none;
    }
}
/* Mobile : bord haut en biais + filet rouge le long du biais (remplace le biais vertical du desktop) */
@media (max-width: 767px) {
    .elementor-946 .elementor-element.elementor-element-6f37595 {
        clip-path: polygon(0 70px, 100% 0, 100% 100%, 0 100%);
    }
    .elementor-946 .elementor-element.elementor-element-6f37595::after {
        content: "";
        position: absolute;
        inset: 0;
        background: #A11738;
        clip-path: polygon(0 70px, 100% 0, 100% 4px, 0 74px);
        pointer-events: none;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6f5653c *//* Le parent doit être positionné pour accueillir la barre */
.elementor-946 .elementor-element.elementor-element-6f5653c {
    position: relative;
}

/* Barre rouge en haut, sur toute la largeur du hero.
   Le conteneur image est dessiné PAR-DESSUS (il vient après dans le HTML),
   donc il la masque partout sauf dans le triangle vide créé par le biais.
   La barre en biais démarrant à 90px du bord (là où le triangle s'arrête),
   les deux se rejoignent sans raccord */
.elementor-946 .elementor-element.elementor-element-6f5653c::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;            /* même épaisseur que la barre en biais */
    background: #A8213A;
    pointer-events: none;
}

/* Sur mobile, le biais est désactivé : on retire aussi la barre du haut */
@media (max-width: 767px) {
    .elementor-946 .elementor-element.elementor-element-6f5653c::before {
        display: none;
    }
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-75fc0e2 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-85acdc6 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-000b407 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-62c29c1 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-8c0a100 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-75fc0e2 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-85acdc6 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-000b407 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-62c29c1 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-8c0a100 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-75fc0e2 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-85acdc6 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-000b407 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-62c29c1 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-8c0a100 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-75fc0e2 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-85acdc6 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-000b407 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-62c29c1 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-8c0a100 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-75fc0e2 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-85acdc6 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-000b407 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-62c29c1 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-8c0a100 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-75fc0e2 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-85acdc6 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-000b407 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-62c29c1 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-8c0a100 *//* Même forme pour les trois widgets : un parallélogramme.
   Polygone en 4 points, sens horaire :
   1) haut-gauche décalé de 15px vers la droite   → biais gauche
   2) haut-droite au bord
   3) bas-droite reculé de 15px vers la gauche     → biais droit, parallèle au gauche
   4) bas-gauche au bord */
.elementor-widget.biais {
    clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);

    /* Padding des deux côtés pour que le texte ne soit pas coupé par les biais */
    padding-left: 20px;
    padding-right: 20px;
}

/* Chaque widget (sauf le premier) recule de 15px sur celui d'avant.
   Le triangle vide en bas à droite du précédent est ainsi comblé
   par le triangle plein en bas à gauche du suivant */
.elementor-widget.biais + .elementor-widget.biais {
    margin-left: -15px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943f82d *//* ===== 1. LA VITRINE : contexte pour le trait qui balaie ===== */
.elementor-946 .elementor-element.elementor-element-943f82d {
    position: relative;
    overflow: hidden;           /* le trait ne sort pas de la bande */
}

/* Le trait rouge traverse de gauche à droite en 6 s, en boucle */
@keyframes nt-scan {
    0%   { left: 0;    opacity: 0; }
    5%   { opacity: 1; }
    95%  { opacity: 1; }
    100% { left: 100%; opacity: 0; }
}
/* ::after (::before est réservé par Elementor pour la superposition) */
.elementor-946 .elementor-element.elementor-element-943f82d::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2px;
    background: #A8213A;
    box-shadow: 0 0 18px 4px rgba(168, 33, 58, 0.45);   /* le halo du trait */
    animation: nt-scan 6s linear infinite;
    pointer-events: none;
    z-index: 2;
}

/* ===== 2. LES PRODUITS RESPIRENT (±8 px en 5 s), décalés entre eux ===== */
@keyframes nt-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}
.elementor-946 .elementor-element.elementor-element-943f82d .elementor-widget-image img {
    animation: nt-float 5s ease-in-out infinite;
}
/* chaque cellule démarre à un moment différent pour que ça ne bouge pas en bloc */
.elementor-946 .elementor-element.elementor-element-943f82d > .e-con:nth-child(2) .elementor-widget-image img { animation-delay: -1.2s; }
.elementor-946 .elementor-element.elementor-element-943f82d > .e-con:nth-child(3) .elementor-widget-image img { animation-delay: -2.4s; }
.elementor-946 .elementor-element.elementor-element-943f82d > .e-con:nth-child(4) .elementor-widget-image img { animation-delay: -3.6s; }

/* ===== 3. HALO : cercle fixe de 260px centré sur le produit ===== */
.elementor-946 .elementor-element.elementor-element-943f82d .elementor-widget-image {
    position: relative;
    isolation: isolate;
}
.elementor-946 .elementor-element.elementor-element-943f82d .elementor-widget-image::after {
    content: "";
    position: absolute;
    width: 260px;               /* taille du halo, indépendante de la largeur du widget */
    height: 260px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle closest-side, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.06) 45%, rgba(255,255,255,0) 100%);
    opacity: 0.8;
    transition: opacity 0.5s ease;
    pointer-events: none;
    z-index: -1;
}
.elementor-946 .elementor-element.elementor-element-943f82d > .e-con:hover .elementor-widget-image::after {
    opacity: 1;
}
/* ===== 4. SURVOL : halo intensifié ===== */
.elementor-946 .elementor-element.elementor-element-943f82d > .e-con:hover .elementor-widget-image::after {
    opacity: 1;
}
.elementor-946 .elementor-element.elementor-element-943f82d > .e-con:hover {
    background-color: rgba(255, 255, 255, 0.03);
}
.elementor-946 .elementor-element.elementor-element-943f82d > .e-con:hover .elementor-widget-image .elementor-widget-container::after {
    opacity: 1;
}

/* ===== MOBILE / utilisateurs qui refusent les animations : tout à l'arrêt ===== */
@media (max-width: 767px), (prefers-reduced-motion: reduce) {
    .elementor-946 .elementor-element.elementor-element-943f82d::after { display: none; }
    .elementor-946 .elementor-element.elementor-element-943f82d .elementor-widget-image img { animation: none; }
}/* End custom CSS */