.elementor-kit-8{--e-global-color-primary:#E30613;--e-global-color-secondary:#3B58A4;--e-global-color-text:#1D1D1B;--e-global-color-accent:#E30613;--e-global-color-cacaopr:#1D1D1B;--e-global-color-blanccs:#FFFFFF;--e-global-color-17b10c7:#FFFFFF;--e-global-color-jaunelk:#F4B043;--e-global-color-vertldk:#64B54E;--e-global-color-5934191:#808080;--e-global-color-e383a90:#F5ECDE;--e-global-typography-primary-font-family:"Magekora";--e-global-typography-primary-font-size:54px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.08em;--e-global-typography-primary-letter-spacing:-0.01em;--e-global-typography-secondary-font-family:"Magekora";--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-size:16.5px;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.85em;--e-global-typography-accent-font-family:"Magekora";--e-global-typography-accent-font-size:62px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.15em;--e-global-typography-heroh1x-font-family:"Magekora";--e-global-typography-heroh1x-font-size:100px;--e-global-typography-heroh1x-font-weight:400;--e-global-typography-heroh1x-line-height:1.02em;--e-global-typography-heroh1x-letter-spacing:-0.015em;--e-global-typography-surtitr-font-family:"Figtree";--e-global-typography-surtitr-font-size:11.5px;--e-global-typography-surtitr-font-weight:400;--e-global-typography-surtitr-text-transform:uppercase;--e-global-typography-surtitr-line-height:1.6em;--e-global-typography-surtitr-letter-spacing:0.3em;--e-global-typography-legendx-font-family:"Figtree";--e-global-typography-legendx-font-size:13.5px;--e-global-typography-legendx-font-weight:300;--e-global-typography-legendx-line-height:1.6em;--e-global-typography-citatio-font-family:"Magekora";--e-global-typography-citatio-font-size:30px;--e-global-typography-citatio-font-weight:400;--e-global-typography-citatio-line-height:1.5em;--e-global-typography-783494e-font-family:"Figtree";--e-global-typography-783494e-font-size:12px;--e-global-typography-783494e-font-weight:600;--e-global-typography-783494e-text-transform:uppercase;--e-global-typography-783494e-line-height:1.4em;--e-global-typography-783494e-letter-spacing:0.14em;--e-global-typography-6011db5-font-family:"Figtree";--e-global-typography-6011db5-font-size:12.5px;--e-global-typography-6011db5-font-weight:400;--e-global-typography-6011db5-text-transform:uppercase;--e-global-typography-6011db5-line-height:1.4em;--e-global-typography-6011db5-letter-spacing:0.1em;--e-global-typography-titreit-font-family:"Magekora";--e-global-typography-titreit-font-size:54px;--e-global-typography-titreit-font-weight:400;--e-global-typography-titreit-font-style:italic;--e-global-typography-titreit-line-height:1.08em;--e-global-typography-h3itali-font-family:"Magekora";--e-global-typography-h3itali-font-size:26px;--e-global-typography-h3itali-font-weight:400;--e-global-typography-h3itali-font-style:italic;--e-global-typography-h3itali-line-height:1.25em;--e-global-typography-manusch-font-family:"Magekora";--e-global-typography-manusch-font-size:92px;--e-global-typography-manusch-font-weight:400;--e-global-typography-manusch-line-height:1.05em;background-color:var( --e-global-color-blanccs );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}body.e-wc-error-notice .woocommerce-error, body.e-wc-error-notice .wc-block-components-notice-banner.is-error{background-color:var( --e-global-color-blanccs );border-style:solid;border-width:0px 0px 0px 3px;border-color:var( --e-global-color-accent );}body.e-wc-message-notice .woocommerce-message, body.e-wc-message-notice .wc-block-components-notice-banner.is-success{background-color:var( --e-global-color-blanccs );border-style:solid;border-width:0px 0px 0px 3px;border-color:var( --e-global-color-primary );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{background-color:var( --e-global-color-secondary );background-image:var( --e-global-color-secondary );font-family:var( --e-global-typography-783494e-font-family ), Sans-serif;font-size:var( --e-global-typography-783494e-font-size );font-weight:var( --e-global-typography-783494e-font-weight );text-transform:var( --e-global-typography-783494e-text-transform );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );border-width:1px 1px 1px 1px;}body.e-wc-message-notice .woocommerce-message .button:hover, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button:hover{background-color:var( --e-global-color-primary );background-image:var( --e-global-color-primary );}body.e-wc-info-notice .woocommerce-info, body.e-wc-info-notice .wc-block-components-notice-banner.is-info{background-color:var( --e-global-color-blanccs );border-style:solid;border-width:0px 0px 0px 3px;border-color:var( --e-global-color-primary );}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{background-color:var( --e-global-color-secondary );background-image:var( --e-global-color-secondary );font-family:var( --e-global-typography-783494e-font-family ), Sans-serif;font-size:var( --e-global-typography-783494e-font-size );font-weight:var( --e-global-typography-783494e-font-weight );text-transform:var( --e-global-typography-783494e-text-transform );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );border-width:1px 1px 1px 1px;}body.e-wc-info-notice .woocommerce-info .button:hover, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button:hover, body.e-wc-info-notice .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-info .woocommerce-Button:hover, body.e-wc-info-notice .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .wc-block-components-notice-banner.is-info .woocommerce-Button:hover{background-color:var( --e-global-color-primary );background-image:var( --e-global-color-primary );}.elementor-kit-8 p{margin-block-end:0px;}.elementor-kit-8 a{color:var( --e-global-color-primary );}.elementor-kit-8 a:hover{color:#E30613A6;}.elementor-kit-8 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-8 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:30px;}.elementor-element{--widgets-spacing:30px 30px;--widgets-spacing-row:30px;--widgets-spacing-column:30px;}{}h1.entry-title{display:var(--page-title-display);}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{--error-message-text-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );--error-message-icon-color:var( --e-global-color-accent );--error-message-normal-links-color:var( --e-global-color-accent );--error-message-hover-links-color:var( --e-global-color-primary );--error-box-border-radius:0px 0px 0px 0px;}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{--message-message-text-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );--message-message-icon-color:var( --e-global-color-primary );--message-box-border-radius:0px 0px 0px 0px;--message-buttons-normal-text-color:var( --e-global-color-blanccs );--message-buttons-hover-text-color:var( --e-global-color-cacaopr );--message-buttons-hover-border-color:var( --e-global-color-primary );--message-border-type:solid;--message-border-color:var( --e-global-color-secondary );--message-buttons-border-radius:0px 0px 0px 0px;--message-buttons-padding:10px 20px 10px 20px;}.e-wc-message-notice .woocommerce-message .restore-item, .e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item, .e-wc-message-notice .woocommerce-message a:not([class]), .e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]){--notice-message-normal-links-color:var( --e-global-color-accent );}.e-wc-message-notice .woocommerce-message .restore-item:hover, .e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item:hover, .e-wc-message-notice .woocommerce-message a:not([class]):hover, .e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]):hover{--notice-message-hover-links-color:var( --e-global-color-primary );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{--info-message-text-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );--info-message-icon-color:var( --e-global-color-primary );--info-box-border-radius:0px 0px 0px 0px;--info-buttons-normal-text-color:var( --e-global-color-blanccs );--info-buttons-hover-text-color:var( --e-global-color-cacaopr );--info-buttons-hover-border-color:var( --e-global-color-primary );--info-border-type:solid;--info-border-color:var( --e-global-color-secondary );--info-buttons-border-radius:0px 0px 0px 0px;--info-buttons-padding:10px 20px 10px 20px;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1500px){.elementor-kit-8{--e-global-typography-primary-font-size:50px;--e-global-typography-secondary-font-size:25px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:56px;--e-global-typography-heroh1x-font-size:78px;--e-global-typography-surtitr-font-size:11.5px;--e-global-typography-legendx-font-size:13.5px;--e-global-typography-citatio-font-size:28px;--e-global-typography-783494e-font-size:12px;--e-global-typography-6011db5-font-size:12.5px;--e-global-typography-titreit-font-size:50px;--e-global-typography-h3itali-font-size:25px;--e-global-typography-manusch-font-size:74px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-8 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-8 h4{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1100px;}.e-con{--container-max-width:1100px;}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{font-size:var( --e-global-typography-783494e-font-size );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{font-size:var( --e-global-typography-783494e-font-size );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );}}@media(max-width:1300px){.elementor-kit-8{--e-global-typography-primary-font-size:46px;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:15.5px;--e-global-typography-accent-font-size:50px;--e-global-typography-heroh1x-font-size:64px;--e-global-typography-surtitr-font-size:11.5px;--e-global-typography-legendx-font-size:13px;--e-global-typography-citatio-font-size:26px;--e-global-typography-783494e-font-size:11.5px;--e-global-typography-6011db5-font-size:12.5px;--e-global-typography-titreit-font-size:46px;--e-global-typography-h3itali-font-size:24px;--e-global-typography-manusch-font-size:62px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:950px;}.e-con{--container-max-width:950px;}}@media(max-width:1024px){.elementor-kit-8{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:22px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:44px;--e-global-typography-heroh1x-font-size:52px;--e-global-typography-surtitr-font-size:11.5px;--e-global-typography-legendx-font-size:13px;--e-global-typography-citatio-font-size:24px;--e-global-typography-783494e-font-size:11.5px;--e-global-typography-6011db5-font-size:12.5px;--e-global-typography-titreit-font-size:40px;--e-global-typography-h3itali-font-size:22px;--e-global-typography-manusch-font-size:50px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-8 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-8 h4{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:700px;}.e-con{--container-max-width:700px;}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{font-size:var( --e-global-typography-783494e-font-size );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{font-size:var( --e-global-typography-783494e-font-size );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-primary-font-size:31px;--e-global-typography-secondary-font-size:20px;--e-global-typography-text-font-size:14.5px;--e-global-typography-accent-font-size:34px;--e-global-typography-heroh1x-font-size:38px;--e-global-typography-surtitr-font-size:11px;--e-global-typography-legendx-font-size:13px;--e-global-typography-citatio-font-size:22px;--e-global-typography-783494e-font-size:11.5px;--e-global-typography-6011db5-font-size:13px;--e-global-typography-titreit-font-size:31px;--e-global-typography-h3itali-font-size:20px;--e-global-typography-manusch-font-size:36px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-8 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-8 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-8 h4{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{font-size:var( --e-global-typography-783494e-font-size );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{font-size:var( --e-global-typography-783494e-font-size );line-height:var( --e-global-typography-783494e-line-height );letter-spacing:var( --e-global-typography-783494e-letter-spacing );}}/* Start custom CSS *//* ==========================================================
   GENERAL — RESET / UTILITAIRES
   ========================================================== */
html, body {
    overflow-x: hidden; /* Empêche le scroll horizontal */
}

.icon-flex .elementor-icon {
    display: flex;
}

a {
    transition: 300ms; /* Liens smooth hover */
}

.liens-blancs a {
    color: #ffffff !important;
}

.liens-blancs a:hover {
    opacity: 0.7;
}

.liens-decorations a {
    text-decoration: underline !important;
}

strong, b, .liens-decorations a {
    font-weight: 700 !important;
}

/* ==========================================================
   CARROUSEL LOGOS
   ========================================================== */
.elementor-kit-8 .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

.slider-logos {
    mask-image: linear-gradient(to right, transparent 0, #000 20%, #000 80%, transparent 100%);
}

/* ==========================================================
   VISUAL PORTFOLIO — Couleurs filtres & pagination (charte)
   ========================================================== */
:root {
    --vp-color-brand: #E30613; /* popup et miniatures */
}

.vp-filter__style-minimal .vp-filter__item > *,
.vp-pagination__style-minimal .vp-pagination__item > * {
    color: #1D1D1B !important;
}

.vp-filter__style-minimal .vp-filter__item > a:focus,
.vp-filter__style-minimal .vp-filter__item > a:hover,
.vp-filter__style-minimal .vp-filter__item.vp-filter__item-active > *,
.vp-pagination__style-minimal .vp-pagination__item > a:hover {
    color: #E30613 !important;
}

/* ==========================================================
   MEGA MENU — Centrage + transition
   ========================================================== */
.elementskit-megamenu-panel {
    transition: 400ms !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Largeur Mega Menu pour 1024px à 1040px si besoin */
@media (min-width: 1024px) and (max-width: 1040px) {
    .elementskit-megamenu-panel {
        width: 750px !important; /* Ajuster selon widget */
    }
}

/* ==========================================================
   COOKIEYES — charte
   Couleurs : reglages natifs de la banniere. Ici seulement ce que la
   version gratuite ne regle pas (polices, angles, focus, liens bleus).
   ========================================================== */
body .cky-consent-container .cky-consent-bar,
body .cky-modal,
body .cky-preference-center,
body .cky-audit-table,
body .cky-btn {
    border-radius: 0;
}
body .cky-consent-container .cky-title,
body .cky-preference-center .cky-preference-title {
    font-family: "Magekora", sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.2;
}
body .cky-consent-container .cky-btn,
body .cky-preference-center .cky-btn {
    border-width: 1px;
    font-family: "Figtree", sans-serif;
    font-weight: 400;
    font-size: 11.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding-left: 8px;
    padding-right: 8px;
}
/* accepter et refuser restent cote a cote, a taille egale (acces comparable) */
body .cky-notice-btn-wrapper {
    row-gap: 10px;
}
body .cky-btn:focus-visible,
body .cky-switch input[type="checkbox"]:focus-visible,
body .cky-accordion-btn:focus-visible {
    outline-color: #E30613;
}
body .cky-notice-des a.cky-policy,
body .cky-notice-des button.cky-policy,
body button.cky-show-desc-btn:not(:hover):not(:active),
body .cky-preference-content-wrapper .cky-show-desc-btn {
    color: #E30613;
}
/* bulle « Gerer mes cookies » : terracotta, tout en bas, sous la fleche de retour en haut (19/10 : etait au-dessus)
   (#backToTop : 43 px, a 15 px du bord droit et 75 px du bas) */
body .cky-btn-revisit-wrapper {
    background-color: #E30613;
}
body .cky-btn-revisit-wrapper.cky-revisit-bottom-right {
    right: 15px;
    bottom: 20px;
    width: 43px;
    height: 43px;
}
/* la bulle reste terracotta quoi qu'il arrive : la regle « button:hover » du kit
   peignait en orange le bouton carre place dans la bulle ronde */
body .cky-btn-revisit-wrapper,
body .cky-btn-revisit-wrapper:hover {
    background-color: #E30613 !important;
    z-index: 99; /* comme la fleche de retour en haut : sous le panier lateral et le menu mobile */
}
body .cky-btn-revisit-wrapper .cky-btn-revisit,
body .cky-btn-revisit-wrapper .cky-btn-revisit:hover,
body .cky-btn-revisit-wrapper .cky-btn-revisit:focus,
body .cky-btn-revisit-wrapper .cky-btn-revisit:active {
    background: transparent !important;
    box-shadow: none;
    outline: none;
}
body .cky-btn-revisit-wrapper:focus-within {
    outline: 1px solid #E30613;
    outline-offset: 3px;
}
/* infobulle « Gérer mes cookies » */
body .cky-revisit-bottom-right:hover::before {
    background: #3B58A4;
    color: #FFFFFF;
    font-family: "Figtree", sans-serif;
    font-size: 12px;
    letter-spacing: 0.04em;
    padding: 6px 10px;
    border-radius: 0;
}
body .cky-revisit-bottom-right:hover::after {
    border-left-color: #3B58A4;
}
body .cky-preference-center .cky-always-active {
    color: #E30613;
}

/* ==========================================================
   BOUTON COOKIE — Element Kit
   ========================================================== */
.elementor-kit-8 button:hover {
    background-color: #E30613; /* couleur de marque */
}

/* ==========================================================
   FILTER CSS COLORS — Icônes / images
   ========================================================== */
.filter-css-blanc {
    filter: brightness(0) saturate(100%) invert(98%) sepia(3%) saturate(0%) 
            hue-rotate(24deg) brightness(111%) contrast(100%);
}

/* ==========================================================
   CUSTOM POSITIONS — Centre & responsive
   ========================================================== */
.position-center-x {
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 1024px) {
    .position-relative-tablette {
        position: relative !important;
    }
}

@media (max-width: 767px) {
    .position-relative-mobile {
        position: relative !important;
    }
}

/* ==========================================================
   CUSTOM HEIGHT
   ========================================================== */
.max-height {
    height: 100%;
}

/* ==========================================================
   CUSTOM MAP — 100% hauteur
   ========================================================== */
.custom-map {
    align-self: stretch;
}
.custom-map .elementor-widget-container,
.custom-map .elementor-custom-embed {
    height: 100%;
}


.custom-list a {
    display: inline !important;
}

/* ==========================================================
       CARROUSEL LOGO PARTENAIRES  ========================================================== */

.elementor-kit-8 .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important; 
}

/* ==== ACCUEIL (genere) ==== */
/* Pictos Lucide : trace, non remplis. Aucun controle Elementor ne pilote le stroke d'un SVG. */
/* Pictos Lucide : trace{fill:none !important;stroke-width:1.7;}



/* Italique au milieu d'un titre : le double titrage ne sait pas le faire. */
.ldk-ital em{font-style:italic;color:#E30613;}

/* Couleur des liens dans l'editeur de texte : pas de controle natif. */
.ldk-link-clair a{color:#E30613;text-decoration:underline;text-underline-offset:3px;}
.ldk-link-clair a:hover{color:#E30613;}
.ldk-link-fonce a{color:#FF9A4D;text-decoration:underline;text-underline-offset:3px;}
.ldk-link-fonce a:hover{color:#E30613;}
.ldk-filigrane{pointer-events:none;}
.ldk-flip img{transform:scaleX(-1);}
/* Accordeon : filets haut et bas uniquement. */


/* ==== HEADER (genere) ==== */
/* Deux états. Seul le second n'a pas d'équivalent natif Elementor : la classe .sticky est posée sur
   .custom-header par le snippet WPCode « Header au scroll » (#352), dès 1 px de défilement ET au chargement.
   - Haut de page : header transparent ; rubriques, flèche, panier et bouton menu en Blanc (réglages de
     l'éditeur) ; le logo est passé en blanc ici (le PNG est sur fond transparent).
     Survol, focus et rubrique active y sont blancs aussi : seul leur soulignement les distingue.
   - Défilé : fond Blanc fond, ces mêmes éléments en Texte, logo dans ses couleurs ; survol, focus et
     rubrique active reprennent la couleur de l'éditeur (Jaune), panier compris.
   La bascule redéfinit des globales sur les SEULS liens et pictos de la barre, jamais sur tout le header :
   le méga-menu vit dans le header et doit garder ses couleurs. */
.custom-header{ transition: background-color .35s ease, box-shadow .35s ease; }
.custom-header .bloc-logo img{ filter: brightness(0) invert(1); transition: filter .35s ease; }
.custom-header:not(.sticky) .elementskit-navbar-nav > li > a{ --e-global-color-jaunelk: var(--e-global-color-17b10c7); }
.custom-header.sticky{
	background-color: var(--e-global-color-blanccs) !important; /* passe devant le fond Noir fond du header bis (#479) */
	box-shadow: 0 1px 0 color-mix(in srgb, var(--e-global-color-text) 10%, transparent);
}
.custom-header.sticky .bloc-logo img{ filter: none; }
.custom-header.sticky .elementskit-navbar-nav > li > a,
.custom-header.sticky .elementor-widget-text-editor:not(.elementskit-megamenu-panel *),
.custom-header.sticky .icon-flex:not(.elementskit-megamenu-panel *){
	--e-global-color-17b10c7: var(--e-global-color-text);
}
.custom-header.sticky .elementor-menu-cart__toggle{ --toggle-button-icon-color: var(--e-global-color-text); }

/* ==========================================================
   TITRES A DEUX TYPOS — le lien garde la couleur du titre
   ========================================================== */
.premium-dual-header-first-header a {
    color: inherit;
}

/* ===== WOOCOMMERCE — charte =====
   Seulement ce que les widgets et les réglages du site ne couvrent pas :
   - les tableaux (variantes, informations complémentaires) : le thème Hello grise une ligne sur deux ;
   - la liste « Trier par » de la boutique. */
.woocommerce table.variations tr > th,
.woocommerce table.variations tr > td,
.woocommerce table.shop_attributes tr > th,
.woocommerce table.shop_attributes tr > td {
	background: transparent !important;
	border-color: #D6DCEC;
}
.woocommerce table.variations tr > th,
.woocommerce table.variations tr > td {
	border: 0;
	padding-left: 0;
}
.woocommerce .woocommerce-ordering select {
	font-family: "Figtree", sans-serif;
	font-size: 14px;
	color: #3B58A4;
	background-color: #FFFFFF;
	border: 1px solid #D6DCEC;
	border-radius: 0;
	padding: 9px 38px 9px 14px;
}
/* cases à cocher et boutons radio (livraison, paiement, création de compte) : orange du site */
.woocommerce input[type="radio"],
.woocommerce input[type="checkbox"] {
	accent-color: #E30613;
}
/* messages WooCommerce : pas d'anneau de focus du thème quand WooCommerce les met en avant */
.woocommerce-notices-wrapper :focus,
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus {
	outline: none;
	box-shadow: none;
}
/* bloc Informations de la fiche produit : lignes fines, libellés façon sur-titre, sans cadre ni italique */
.woocommerce table.shop_attributes {
	border: 0;
	margin: 0;
}
.woocommerce table.shop_attributes tr {
	border-bottom: 1px solid #D6DCEC;
}
.woocommerce table.shop_attributes tr:first-child {
	border-top: 1px solid #D6DCEC;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	border: 0 !important;
	padding: 16px 0;
	font-style: normal;
	vertical-align: middle;
}
.woocommerce table.shop_attributes th {
	width: 32%;
	text-align: left;
	font-family: "Figtree", sans-serif;
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #E30613;
}
.woocommerce table.shop_attributes td p {
	margin: 0;
	padding: 0;
}
/* Mon compte : les boutons des messages gardent leur couleur (celle des liens du widget passait par-dessus) */
body .elementor-widget-woocommerce-my-account .woocommerce .woocommerce-info a.button {
	color: var(--info-buttons-normal-text-color);
}
body .elementor-widget-woocommerce-my-account .woocommerce .woocommerce-info a.button:hover {
	color: var(--info-buttons-hover-text-color);
}
body .elementor-widget-woocommerce-my-account .woocommerce .woocommerce-message a.button {
	color: var(--message-buttons-normal-text-color);
}
body .elementor-widget-woocommerce-my-account .woocommerce .woocommerce-message a.button:hover {
	color: var(--message-buttons-hover-text-color);
}
body .elementor-widget-woocommerce-my-account .woocommerce .woocommerce-error a.button {
	color: var(--error-buttons-normal-text-color);
}
body .elementor-widget-woocommerce-my-account .woocommerce .woocommerce-error a.button:hover {
	color: var(--error-buttons-hover-text-color);
}
/* messages d'information : un « i » dans un rond au lieu du picto carré de WooCommerce */
.woocommerce-info::before {
	content: "i" !important;
	font-family: "Magekora", sans-serif !important;
	font-style: italic;
	font-weight: 600;
	font-size: 15px;
	line-height: 19px;
	width: 21px;
	height: 21px;
	text-align: center;
	border: 1px solid currentColor;
	border-radius: 50%;
}
/* ===== fin WOOCOMMERCE — charte ===== */
/* ludik-bulles (83 → 85) — bulle fixe « Demander un devis » (brief : « comme Evotherm »), à droite, au-dessus de la flèche
   « retour en haut » (#backToTop : 43 px, à 15 px du bord droit et 75 px du bas), elle-même au-dessus du bouton cookies.
   DA du bouton jaune du site (« Demandez un devis gratuit ») : fond Jaune, Texte, typo « Bouton » ; survol Bleu + Blanc. */
.elementor .ludik-bulles{ position: fixed; right: max(15px, env(safe-area-inset-right, 0px)); bottom: calc(130px + env(safe-area-inset-bottom, 0px)); z-index: 99; width: auto; margin: 0; padding: 0; pointer-events: none; }
.elementor .ludik-bulle{ pointer-events: auto; position: relative; width: 112px; height: 112px; margin: 0 !important; border-radius: 50%; background: var(--e-global-color-secondary); box-shadow: 0 8px 22px color-mix(in srgb, var(--e-global-color-text) 22%, transparent); display: grid; place-items: center; transition: background-color .25s ease, transform .2s ease; }
/* le conteneur du widget prend toute la hauteur du cercle et le contenu y restait en haut (mesuré : 0 px en haut, 43 en bas) :
   c'est LUI qui centre ; l'alignement du wrapper était écrasé par la règle d'Elementor → spécificité + !important */
.ludik-bulle > .elementor-widget-container{ width: 100%; height: 100%; margin: 0 !important; padding: 0 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.elementor .ludik-bulle .elementor-icon-box-wrapper{ display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 7px; text-align: center; }
/* le bloc du picto prenait toute la largeur et le picto restait à gauche (vu par le chef de projet, ma 1re mesure portait
   sur picto + texte ensemble) : bloc et picto centrés, mesurés séparément */
.elementor .ludik-bulle .elementor-icon-box-icon{ margin: 0 !important; line-height: 0; display: flex !important; justify-content: center !important; width: 100%; }
.ludik-bulle .elementor-icon{ font-size: 24px; line-height: 1; display: flex; justify-content: center; margin: 0 auto; color: var(--e-global-color-17b10c7) !important; }
.ludik-bulle .elementor-icon svg, .ludik-bulle .elementor-icon svg *{ fill: var(--e-global-color-17b10c7) !important; }
.ludik-bulle .elementor-icon i, .ludik-bulle .elementor-icon svg{ display: block; }
.ludik-bulle .elementor-icon-box-content, .ludik-bulle .elementor-icon-box-title{ display: block; margin: 0 !important; }
.ludik-bulle .elementor-icon-box-title, .ludik-bulle .elementor-icon-box-title a{ font-family: var(--e-global-typography-783494e-font-family), sans-serif; font-weight: var(--e-global-typography-783494e-font-weight); text-transform: var(--e-global-typography-783494e-text-transform); letter-spacing: var(--e-global-typography-783494e-letter-spacing); font-size: 11px !important; line-height: 1.35 !important; color: var(--e-global-color-17b10c7) !important; }
/* 19/10 (chef de projet) : au repos Bleu + Blanc, au survol Jaune + Texte */
.ludik-bulle:hover, .ludik-bulle:focus-within{ background: var(--e-global-color-jaunelk); transform: translateY(-3px); }
/* survol : le picto restait noir sur le Bleu (sa couleur passe par fill, et la règle d'Elementor était plus forte) */
.elementor .ludik-bulle:hover .elementor-icon, .elementor .ludik-bulle:focus-within .elementor-icon,
.elementor .ludik-bulle:hover .elementor-icon i, .elementor .ludik-bulle:focus-within .elementor-icon i,
.elementor .ludik-bulle:hover .elementor-icon-box-title a, .elementor .ludik-bulle:focus-within .elementor-icon-box-title a{ color: var(--e-global-color-text) !important; }
.elementor .ludik-bulle:hover .elementor-icon svg, .elementor .ludik-bulle:focus-within .elementor-icon svg,
.elementor .ludik-bulle:hover .elementor-icon svg *, .elementor .ludik-bulle:focus-within .elementor-icon svg *{ fill: var(--e-global-color-text) !important; }
.ludik-bulle .elementor-icon-box-title a::after{ content: ""; position: absolute; inset: 0; border-radius: 50%; }
.ludik-bulle a:focus-visible{ outline: none; }
.ludik-bulle:has(a:focus-visible){ outline: 3px solid var(--e-global-color-secondary); outline-offset: 3px; }
body.page-id-285 .ludik-bulle--devis{ display: none; }
@media (max-width: 767px){
  .elementor .ludik-bulle{ width: 94px; height: 94px; }
  .ludik-bulle > .elementor-widget-container{ padding: 0 9px !important; }
  .ludik-bulle .elementor-icon{ font-size: 20px; }
  .ludik-bulle .elementor-icon-box-wrapper{ gap: 5px; }
  .ludik-bulle .elementor-icon-box-title, .ludik-bulle .elementor-icon-box-title a{ font-size: 9.5px !important; }
}
@media (prefers-reduced-motion: reduce){ .ludik-bulle{ transition: none; } }
/* fin ludik-bulles *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Magekora';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('http://ludik-animation.com/wp-content/uploads/2026/10/Magekora.woff2') format('woff2'),
		url('http://ludik-animation.com/wp-content/uploads/2026/10/Magekora.woff') format('woff'),
		url('http://ludik-animation.com/wp-content/uploads/2026/10/Magekora.ttf') format('truetype');
}
/* End Custom Fonts CSS */