.elementor-kit-8{--e-global-color-primary:#99181E;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#343434;--e-global-color-accent:#F4F4F4;--e-global-color-cd58bb6:#5A3B2B;--e-global-typography-primary-font-family:"PT Serif";--e-global-typography-primary-font-size:70px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:71px;--e-global-typography-primary-word-spacing:1px;--e-global-typography-secondary-font-family:"PT Serif";--e-global-typography-secondary-font-size:48px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:48px;--e-global-typography-text-font-family:"PT Sans";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4rem;--e-global-typography-accent-font-family:"PT Sans";--e-global-typography-accent-font-size:1.4rem;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.6em;--e-global-typography-c42f1ed-font-family:"PT Serif";--e-global-typography-c42f1ed-font-size:25px;--e-global-typography-c42f1ed-line-height:25px;--e-global-typography-783494e-font-family:"PT Sans";--e-global-typography-783494e-font-size:1rem;--e-global-typography-783494e-font-weight:700;--e-global-typography-783494e-line-height:1.2rem;--e-global-typography-d1b0545-font-family:"PT Sans";--e-global-typography-d1b0545-font-size:0.92rem;--e-global-typography-d1b0545-font-weight:400;--e-global-typography-d1b0545-line-height:1.25rem;--e-global-typography-a7473b7-font-family:"PT Sans";--e-global-typography-a7473b7-font-size:56px;--e-global-typography-a7473b7-font-weight:700;--e-global-typography-a7473b7-line-height:1em;--e-global-typography-a7473b7-word-spacing:1px;--e-global-typography-036569e-font-family:"PT Sans";--e-global-typography-036569e-font-size:0.8125rem;--e-global-typography-036569e-font-weight:700;--e-global-typography-036569e-text-transform:uppercase;--e-global-typography-036569e-line-height:1.3em;--e-global-typography-036569e-letter-spacing:1px;--e-global-typography-f8d33cc-font-family:"PT Serif";--e-global-typography-f8d33cc-font-size:48px;--e-global-typography-f8d33cc-font-weight:400;--e-global-typography-f8d33cc-font-style:italic;--e-global-typography-f8d33cc-line-height:48px;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;}.elementor-kit-8 p{margin-block-end:0px;}.elementor-kit-8 a{color:var( --e-global-color-text );}.elementor-kit-8 a:hover{color:var( --e-global-color-primary );}.elementor-kit-8 h1{font-family:"PT Serif", Sans-serif;font-size:82px;font-weight:700;line-height:84px;word-spacing:1px;}.elementor-kit-8 h2{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);}.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:72px;--e-global-typography-primary-line-height:74px;--e-global-typography-secondary-font-size:50px;--e-global-typography-secondary-line-height:53px;--e-global-typography-accent-font-size:1.35rem;--e-global-typography-accent-line-height:1.6rem;--e-global-typography-c42f1ed-font-size:27.5px;--e-global-typography-c42f1ed-line-height:31.5px;--e-global-typography-a7473b7-font-size:56px;--e-global-typography-f8d33cc-font-size:50px;--e-global-typography-f8d33cc-line-height:53px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-8 h1{font-size:72px;line-height:74px;}.elementor-kit-8 h2{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;}}@media(max-width:1300px){.elementor-kit-8{--e-global-typography-primary-font-size:65px;--e-global-typography-primary-line-height:67px;--e-global-typography-secondary-font-size:48px;--e-global-typography-secondary-line-height:50px;--e-global-typography-accent-font-size:1.3rem;--e-global-typography-accent-line-height:1.55rem;--e-global-typography-c42f1ed-font-size:27px;--e-global-typography-c42f1ed-line-height:31px;--e-global-typography-a7473b7-font-size:52px;--e-global-typography-f8d33cc-font-size:48px;--e-global-typography-f8d33cc-line-height:50px;}.elementor-kit-8 h1{font-size:65px;line-height:67px;}.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:60px;--e-global-typography-primary-line-height:62px;--e-global-typography-secondary-font-size:46px;--e-global-typography-secondary-line-height:49px;--e-global-typography-accent-font-size:1.25rem;--e-global-typography-accent-line-height:1.45rem;--e-global-typography-c42f1ed-font-size:26px;--e-global-typography-c42f1ed-line-height:30px;--e-global-typography-a7473b7-font-size:46px;--e-global-typography-f8d33cc-font-size:46px;--e-global-typography-f8d33cc-line-height:49px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-8 h1{font-size:60px;line-height:62px;}.elementor-kit-8 h2{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;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-primary-font-size:34px;--e-global-typography-primary-line-height:37px;--e-global-typography-secondary-font-size:29px;--e-global-typography-secondary-line-height:31px;--e-global-typography-text-font-size:0.925rem;--e-global-typography-text-line-height:1.2rem;--e-global-typography-accent-font-size:1.1rem;--e-global-typography-accent-line-height:1.4rem;--e-global-typography-c42f1ed-font-size:22px;--e-global-typography-c42f1ed-line-height:25px;--e-global-typography-783494e-line-height:1.1rem;--e-global-typography-d1b0545-font-size:0.875rem;--e-global-typography-d1b0545-line-height:1.15rem;--e-global-typography-a7473b7-font-size:40px;--e-global-typography-f8d33cc-font-size:29px;--e-global-typography-f8d33cc-line-height:31px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-8 h1{font-size:34px;line-height:37px;}.elementor-kit-8 h2{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%;}}/* 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
   ========================================================== */
.vp-filter__style-minimal .vp-filter__item > *,
.vp-pagination__style-minimal .vp-pagination__item > a:hover,
.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 > * {
    /* Couleurs selon variantes fournies */
    color: #343434 !important;
}

.vp-filter__style-minimal .elementor-kit-8 a {
    color: #343434 !important;
}

.vp-filter__style-minimal .vp-filter__item > * {
    color: #343434 !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: #99181E !important;
}

/* ==========================================================
   MÉGA-MENU « Nos services » — placement (30/09, modèle fourni : _sources/inspi-mega-menu.png)
   Toute la largeur de la barre d'en-tête, 8 px sous elle ; ouverture en fondu + 6 px de glissé ;
   fermeture retardée de 0,35 s pour traverser l'écart. Remplace le centrage du gabarit.
   Sélecteurs par structure (en-têtes #9 et #479). Contenu du panneau : ElementsKit #1733.
   ========================================================== */
@media (min-width: 1025px) {
    [data-elementor-type="header"] .e-con:has(> .elementor-widget-ekit-nav-menu),
    [data-elementor-type="header"] .elementor-widget-ekit-nav-menu,
    [data-elementor-type="header"] .elementor-widget-ekit-nav-menu .elementskit-menu-container,
    [data-elementor-type="header"] .elementor-widget-ekit-nav-menu .elementskit-megamenu-has {
        position: static !important;
    }
    [data-elementor-type="header"] .elementskit-megamenu-panel {
        left: 0 !important;
        width: 100% !important;
        top: calc(100% + 8px) !important;
        transform: translateY(-6px) !important;
        pointer-events: auto !important; /* l'interactivité suit visibility, qui se ferme en retard */
        transition: opacity .2s ease .15s, transform .2s ease .15s, visibility 0s linear .35s !important;
    }
    [data-elementor-type="header"] .elementskit-megamenu-has:hover > .elementskit-megamenu-panel,
    [data-elementor-type="header"] .elementskit-megamenu-has:focus-within > .elementskit-megamenu-panel {
        transform: translateY(0) !important;
        transition: opacity .2s ease, transform .2s ease, visibility 0s !important;
    }
    /* soulignement de survol des en-têtes (.custom-nav li::before, CSS de #9 et #479) : il se positionnait sur l'entrée
       de menu, devenue static, et s'étirait sur toute la barre → porté par le lien de l'entrée, même dessin */
    [data-elementor-type="header"] .custom-nav li.elementskit-megamenu-has::before { display: none; }
    [data-elementor-type="header"] .custom-nav li.elementskit-megamenu-has > a::after {
        content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 2px;
        background-color: var(--e-global-color-primary); transition: 300ms;
    }
    [data-elementor-type="header"] .custom-nav li.elementskit-megamenu-has:hover > a::after,
    [data-elementor-type="header"] .custom-nav li.elementskit-megamenu-has:focus-within > a::after { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    [data-elementor-type="header"] .elementskit-megamenu-panel { transform: none !important; transition: none !important; }
}

/* ==========================================================
   BOUTON COOKIE — Element Kit
   ========================================================== */
.elementor-kit-8 button:hover {
    background-color: #99181E;
}

/* ==========================================================
   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,
.custom-map .elementor-custom-embed,
.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; 
}

/* GLASSMORPHISM */

.glass {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.25);

    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

/* COOKIES */

.cky-title {
    color: #343434 !important;
}

.cky-notice-des {
    color: #343434 !important;
}

.cky-btn {
    border-radius: 100px !important;
    border-color: #99181E !important;
}

.cky-btn-accept, .cky-btn-revisit-wrapper {
    background-color: #99181E !important;
}

.cky-btn-revisit-wrapper:hover button {
    background-color: #99181E !important;
}

.cky-btn-reject, .cky-btn-preferences {
    color: #99181E !important;
}

.cky-btn-accept {
    background-color: #99181E !important;
}

.cky-accordion-btn:hover, .cky-btn-close:hover, .cky-show-desc-btn:hover {
    background-color: transparent !important;
}

.mot-vert {
    font-style: normal !important;
    color: #FFFFFF !important;
}

.mot-orange {
    font-style: normal !important;
    color: #FFFFFF !important;
}

/* ==========================================================
   MÉGA-MENU — ouverture au clavier (T39, 29/09) : même état que le survol
   ========================================================== */
.elementskit-navbar-nav-default.ekit-nav-dropdown-hover .elementskit-megamenu-has:focus-within > .elementskit-megamenu-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* ==========================================================
   PARAGRAPHES — interligne entre deux paragraphes d'un même éditeur (30/09)
   Le kit met 0 sous chaque <p> ; seul l'écart ENTRE paragraphes est rétabli.
   ========================================================== */
.elementor-widget-text-editor p + p {
    margin-block-start: 0.8em;
}/* End custom CSS */