.elementor-kit-8{--e-global-color-primary:#134559;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#16262E;--e-global-color-accent:#EEF3F5;--e-global-color-10a6f23:#5C6B73;--e-global-color-b1e0c72:#598392;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-line-height:50px;--e-global-typography-primary-letter-spacing:0.06em;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-size:42px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:45px;--e-global-typography-secondary-letter-spacing:-1px;--e-global-typography-secondary-word-spacing:1px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1.05rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7rem;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:1.35rem;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-line-height:1.8rem;--e-global-typography-cac58f2-font-family:"Outfit";--e-global-typography-cac58f2-font-size:1.05rem;--e-global-typography-cac58f2-font-weight:500;--e-global-typography-cac58f2-text-transform:uppercase;--e-global-typography-cac58f2-line-height:1.3rem;--e-global-typography-cac58f2-letter-spacing:0.7px;--e-global-typography-bf1adab-font-family:"Inter";--e-global-typography-bf1adab-font-size:0.98rem;--e-global-typography-bf1adab-font-weight:400;--e-global-typography-bf1adab-line-height:1.45rem;--e-global-typography-fa6b2d5-font-family:"Outfit";--e-global-typography-fa6b2d5-font-size:22px;--e-global-typography-fa6b2d5-font-weight:700;--e-global-typography-fa6b2d5-text-transform:uppercase;--e-global-typography-fa6b2d5-line-height:26px;--e-global-typography-fa6b2d5-letter-spacing:1px;--e-global-typography-fa6b2d5-word-spacing:1px;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 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-text );font-family:var( --e-global-typography-cac58f2-font-family ), Sans-serif;font-size:var( --e-global-typography-cac58f2-font-size );font-weight:var( --e-global-typography-cac58f2-font-weight );text-transform:var( --e-global-typography-cac58f2-text-transform );line-height:var( --e-global-typography-cac58f2-line-height );letter-spacing:var( --e-global-typography-cac58f2-letter-spacing );border-radius:5px 5px 5px 5px;}.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-primary );}.elementor-kit-8 a:hover{color:#134559D6;}.elementor-kit-8 h1{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 );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.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 );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.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){--kit-widget-spacing: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{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-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-cac58f2-font-size );line-height:var( --e-global-typography-cac58f2-line-height );letter-spacing:var( --e-global-typography-cac58f2-letter-spacing );}.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:48px;--e-global-typography-primary-line-height:54px;--e-global-typography-secondary-font-size:38px;--e-global-typography-secondary-line-height:46px;--e-global-typography-accent-font-size:1.3rem;--e-global-typography-accent-line-height:1.8rem;--e-global-typography-fa6b2d5-font-size:21px;--e-global-typography-fa6b2d5-line-height:25px;}.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:42px;--e-global-typography-primary-line-height:50px;--e-global-typography-secondary-font-size:35px;--e-global-typography-secondary-line-height:43px;--e-global-typography-fa6b2d5-font-size:20px;--e-global-typography-fa6b2d5-line-height:24px;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-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-cac58f2-font-size );line-height:var( --e-global-typography-cac58f2-line-height );letter-spacing:var( --e-global-typography-cac58f2-letter-spacing );}.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:27px;--e-global-typography-primary-line-height:35px;--e-global-typography-secondary-font-size:25px;--e-global-typography-secondary-line-height:33px;--e-global-typography-text-font-size:1rem;--e-global-typography-text-line-height:1.55rem;--e-global-typography-accent-font-size:1.2rem;--e-global-typography-accent-line-height:1.6rem;--e-global-typography-fa6b2d5-font-size:19.5px;--e-global-typography-fa6b2d5-line-height:23.5px;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-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-cac58f2-font-size );line-height:var( --e-global-typography-cac58f2-line-height );letter-spacing:var( --e-global-typography-cac58f2-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}/* Start custom CSS */html, body {
    overflow-x: hidden;
}

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

a {
    transition: 300ms;
}

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

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

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

strong, b, a {
    font-weight: 700;
}

.bg-position-fixed {
    background-attachment: fixed; 
}

/* CUSTOM POSITIONS */

@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 */

.custom-map, .custom-map .elementor-custom-embed {
    height: 100%;
}

/* CUSTOM ICONS COLORS */

.custom-icon-white {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7472%) hue-rotate(165deg) brightness(105%) contrast(94%);
}

.logo-bleu img {
     filter: brightness(0) saturate(100%)
            invert(10%) sepia(80%)
            saturate(2000%) hue-rotate(175deg)
            brightness(80%) contrast(110%);
}

.liens-bleu a {
  color: #00283d !important;  
}

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

.elementskit-megamenu-panel {
    left: 50% !important;
    transform: translateX(-50%) !important;
    transition: 300ms !important;
}

@media (max-width: 1300px) {
    .elementskit-megamenu-panel {
        left: 40% !important;
        transform: translateX(-40%) !important;
        transition: 300ms !important;
    }
}


/* --- Méga-menu FUV : survol des cartes de service --- */
.fuv-service-card { position: relative; border-radius: 10px; }
.fuv-service-card::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 2px; border-radius: 2px; background-color: var( --e-global-color-primary ); transform: scaleY(0); transition: transform .32s cubic-bezier(.4,0,.2,1); }
.fuv-service-card:hover::before { transform: scaleY(1); }
.fuv-service-card { display: flex; }
.fuv-service-card .elementor-icon-box-wrapper { flex: 1; padding: 8px 12px 8px 14px; border-radius: 10px; transition: background-color .32s ease; }
.fuv-service-card:hover .elementor-icon-box-wrapper { background-color: var( --e-global-color-accent ); }
.fuv-service-card .elementor-icon svg { transition: fill .32s ease, transform .32s cubic-bezier(.4,0,.2,1); }
.fuv-service-card:hover .elementor-icon svg { fill: var( --e-global-color-primary ); transform: scale(1.08); }
.fuv-service-card .elementor-icon-box-title > * { transition: color .32s ease; }
.fuv-service-card:hover .elementor-icon-box-title > * { color: var( --e-global-color-primary ); }
.fuv-service-card .elementor-icon-box-title > *::after { content: "\2192"; display: inline-block; margin-left: 6px; font-size: .9em; opacity: 0; transition: opacity .32s ease; }
.fuv-service-card:hover .elementor-icon-box-title > *::after { opacity: .55; }
.fuv-service-card .elementor-icon-box-title > a::before { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: 10px; }
.fuv-service-card .elementor-icon-box-wrapper { position: static; }
@media (prefers-reduced-motion: reduce) { .fuv-service-card::before, .fuv-service-card .elementor-icon svg { transition: none; transform: none; } }

/* Coordonnées : une adresse e-mail doit pouvoir se couper plutôt que déborder */
.elementor-widget-icon-box .elementor-icon-box-description { overflow-wrap: anywhere; }

/* Icônes au trait (Lucide) : le widget pose la couleur sur le svg, ce qui écrase le fill="none" du fichier */
.elementor-icon svg.lucide { fill: none !important; stroke: currentColor !important; stroke-width: 1.1; }

/* --- Carrousel et pictogramme FUV --- */
/* Flèches du carrousel : pastille pleine, lisible sur la bande sombre comme sur le blanc. */
.fuv-carrousel .elementor-swiper-button{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background-color:var(--e-global-color-secondary);
  box-shadow:0 2px 10px rgba(19,69,89,.20);
  transition:background-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.fuv-carrousel .elementor-swiper-button:hover{
  background-color:var(--e-global-color-primary);
  box-shadow:0 4px 16px rgba(19,69,89,.30);
  transform:translateY(-1px);
}
.fuv-carrousel .elementor-swiper-button:focus-visible{
  outline:2px solid var(--e-global-color-primary);outline-offset:3px;
}
.fuv-carrousel .elementor-swiper-button.swiper-button-disabled{opacity:.4;box-shadow:none;}

/* Pictogrammes animés.
   Le widget est posé sur un coin de sa section, qui est pleine largeur : sans cette
   règle il va coller le bord de la fenêtre, au-delà de la colonne de contenu.
   La largeur est en clamp() et non en pixels : elle suit la fenêtre à tous les paliers.
   Elementor impose au SVG une hauteur égale à sa largeur, alors que le dessin fait
   897x390 — d'où le height:auto, qui supprime le vide au-dessus et en dessous.
   Le !important n'est pas de confort : la règle par élément d'Elementor
   (.elementor-5373 .elementor-element.elementor-element-XXXX …) est plus spécifique. */
.fuv-anim{pointer-events:none;}
.fuv-anim .elementor-icon{line-height:0;}
.fuv-anim .elementor-icon svg{height:auto !important;display:block;}

/* Celui de la FAQ : grand, ancré sur la colonne de contenu, derrière l'accordéon. */
.fuv-picto-faq{
  right:max(16px,calc((100% - var(--container-max-width,1400px)) / 2)) !important;
}
/* L'accordéon fait 980 px centré dans une colonne de 1400 : il ne reste que 210 px de
   gouttière à droite. Un picto de 700 px y avait 490 px cachés derrière les barres et
   210 px visibles — l'agrandir ne l'aurait pas rendu plus lisible, seulement plus caché.
   On le cale donc sur la gouttière, et on monte l'opacité puisqu'il n'a plus à s'effacer
   derrière du texte. Le léger débord conservé le fait toujours passer sous l'accordéon,
   ce qui l'ancre à la section au lieu de le poser à côté. */
.fuv-picto-faq .elementor-icon svg{width:clamp(200px,15vw,300px) !important;opacity:.85;}

/* Celui de la bande bleue : blanc, en bas à gauche, derrière le texte. */
.fuv-picto-zone{
  left:max(16px,calc((100% - var(--container-max-width,1400px)) / 2)) !important;
}
.fuv-picto-zone .elementor-icon svg{width:clamp(220px,32vw,460px) !important;opacity:.30;}

/* Elementor pose display:flex sur les liens d'une liste d'icônes — la règle est faite
   pour le cas où c'est la PUCE ENTIÈRE qui est cliquable. Dès qu'un lien vit à
   l'intérieur du texte, il devient une boîte de bloc : « la rénovation intérieure dans
   le 93 ; » se casse en trois lignes, une par fragment. On le remet en ligne.
   Trois classes suffisent à passer devant la règle d'Elementor : pas de !important. */
.elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-text a{
  display:inline;
}

/* Un lien dans une liste d'icônes hérite de la couleur du texte : sur un aplat bleu, rien
   ne le distingue d'une phrase ordinaire. Le soulignement le désigne SANS toucher à sa
   couleur — qui doit rester celle du texte pour rester lisible sur ce fond. */
.elementor-icon-list-text a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.elementor-icon-list-text a:hover{text-decoration-thickness:2px;}

/* Un lien garde la couleur de lien du thème — un bleu foncé — même quand le texte qui
   l'entoure est passé en blanc. Sur un aplat bleu il devient illisible.
   Une règle globale « tout lien hérite de son texte » ne convient pas : sur fond blanc,
   la couleur de lien est un choix de charte. Et le CSS ne sait pas lire la couleur de fond
   de son parent. Les éléments dont le TEXTE est blanc portent donc la classe ci-dessous —
   le critère est bien « de quelle couleur j'écris », pas « sur quoi je suis posé » : la
   bande bleue contient une carte blanche, dont les liens doivent rester foncés. */
.fuv-sur-fond-bleu a,
.fuv-sur-fond-bleu a:visited{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.fuv-sur-fond-bleu a:hover{text-decoration-thickness:2px;}
/* MOBILE — les flèches passent SOUS le carrousel.
   Mesure à 390 px : widget 351, dégagement latéral 46 + 46, carte 259 px, soit 66 % de
   l'écran. Ces 92 px servaient à tenir les flèches hors de la carte ; une flèche fait
   36 px, les réduire les y ramène. Le seul moyen de rendre la largeur est de sortir les
   flèches de la bande horizontale : elles vont dessous, centrées, et la carte occupe
   toute la colonne.
   La place du bas est réservée par le réglage natif `_padding_mobile` du widget (0/0/58/0)
   et non par du CSS : la règle par élément d'Elementor bat toute classe, autant s'en
   servir plutôt que lutter contre. Les !important qui restent visent précisément ces
   règles par élément, sur des propriétés qu'Elementor pose pour le placement latéral. */
@media (max-width:767px){
  .fuv-carrousel .elementor-swiper-button{
    width:40px;height:40px;                 /* 40 px : cible tactile confortable */
    top:auto !important;bottom:0 !important;
    transform:none !important;
  }
  .fuv-carrousel .elementor-swiper-button-prev{left:calc(50% - 48px) !important;right:auto !important;}
  .fuv-carrousel .elementor-swiper-button-next{left:calc(50% + 8px) !important;right:auto !important;}

  /* Sous le carrousel, la pastille n'est plus posée sur la bande sombre mais sur du blanc :
     une pastille blanche y devient invisible, et l'ombre ne suffit pas à la dessiner.
     Elle prend donc l'aplat clair de la charte et un filet. */
  .fuv-carrousel .elementor-swiper-button{
    background-color:var(--e-global-color-accent);
    box-shadow:none;
    border:1px solid rgba(19,69,89,.18);
  }
  /* Une flèche désactivée à 40 % d'opacité efface aussi sa pastille, et le bouton semble
     avoir disparu. On ne fait pâlir que le chevron ; la pastille reste dessinée, ce qui
     dit « bout de liste » au lieu de « bouton manquant ». */
  .fuv-carrousel .elementor-swiper-button.swiper-button-disabled{opacity:1;}
  .fuv-carrousel .elementor-swiper-button.swiper-button-disabled svg,
  .fuv-carrousel .elementor-swiper-button.swiper-button-disabled i{opacity:.35;}
}
@media (prefers-reduced-motion:reduce){
  .fuv-carrousel .elementor-swiper-button{transition:none;}
}/* End custom CSS */