.elementor-kit-8{--e-global-color-primary:#1E45AD;--e-global-color-secondary:#6B8AF0;--e-global-color-text:#FFFFFF;--e-global-color-accent:#7C9BFF;--e-global-color-rouge:#FF3B41;--e-global-color-rougeprofond:#E20D13;--e-global-color-grisclair:#C9CBD1;--e-global-color-bleusurvol:#2450C9;--e-global-color-textesecond:#9A9CA3;--e-global-color-fondprofond:#05060A;--e-global-color-fondcarte:#0E1015;--e-global-color-fondsurvol:#171A22;--e-global-color-bleumarque:#1A398C;--e-global-color-ligne:rgba(255, 255, 255, 0.09);--e-global-color-blancpur:#FFFFFF;--e-global-color-encre:#FFFFFF;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:600;--e-global-typography-titrexl-font-family:"Montserrat";--e-global-typography-titrexl-font-size:56px;--e-global-typography-titrexl-font-weight:800;--e-global-typography-titrexl-line-height:1.08em;--e-global-typography-titrexl-letter-spacing:-1px;--e-global-typography-surtitre-font-family:"Montserrat";--e-global-typography-surtitre-font-size:12px;--e-global-typography-surtitre-font-weight:600;--e-global-typography-surtitre-text-transform:uppercase;--e-global-typography-surtitre-line-height:1.4em;--e-global-typography-surtitre-letter-spacing:2px;--e-global-typography-chiffre-font-family:"Montserrat";--e-global-typography-chiffre-font-size:44px;--e-global-typography-chiffre-font-weight:800;--e-global-typography-chiffre-line-height:1.1em;--e-global-typography-chiffre-letter-spacing:-1px;--e-global-typography-corpsgros-font-family:"Montserrat";--e-global-typography-corpsgros-font-size:19px;--e-global-typography-corpsgros-font-weight:400;--e-global-typography-corpsgros-line-height:1.65em;--e-global-typography-corpspetit-font-family:"Montserrat";--e-global-typography-corpspetit-font-size:15px;--e-global-typography-corpspetit-font-weight:400;--e-global-typography-corpspetit-line-height:1.6em;--e-global-typography-mention-font-family:"Montserrat";--e-global-typography-mention-font-size:12px;--e-global-typography-mention-font-weight:400;--e-global-typography-mention-line-height:1.7em;background-color:var( --e-global-color-fondprofond );color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;}.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-primary );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;line-height:1.2em;letter-spacing:0px;color:var( --e-global-color-encre );border-radius:999px 999px 999px 999px;padding:17px 34px 17px 34px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:var( --e-global-color-bleusurvol );color:var( --e-global-color-encre );}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:var( --e-global-color-secondary );}.elementor-kit-8 a:hover{color:var( --e-global-color-accent );}.elementor-kit-8 h1{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:56px;font-weight:800;line-height:1.08em;letter-spacing:-1px;}.elementor-kit-8 h2{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:800;line-height:1.15em;letter-spacing:-0.5px;}.elementor-kit-8 h3{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:28px;font-weight:800;line-height:1.25em;}.elementor-kit-8 h4{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:600;line-height:1.35em;}.elementor-kit-8 h5{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;line-height:1.45em;}.elementor-kit-8 h6{color:var( --e-global-color-textesecond );font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;line-height:1.4em;letter-spacing:2px;}.elementor-kit-8 img{border-radius:14px 14px 14px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:22px;}.elementor-element{--widgets-spacing:22px 22px;--widgets-spacing-row:22px;--widgets-spacing-column:22px;}{}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:1024px){.elementor-kit-8{--e-global-typography-titrexl-font-size:42px;--e-global-typography-surtitre-font-size:12px;--e-global-typography-chiffre-font-size:38px;--e-global-typography-corpsgros-font-size:18px;--e-global-typography-corpspetit-font-size:15px;--e-global-typography-mention-font-size:12px;font-size:17px;}.elementor-kit-8 h1{font-size:42px;}.elementor-kit-8 h2{font-size:34px;}.elementor-kit-8 h3{font-size:25px;}.elementor-kit-8 h4{font-size:20px;}.elementor-kit-8 h5{font-size:17px;}.elementor-kit-8 h6{font-size:12px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-titrexl-font-size:34px;--e-global-typography-surtitre-font-size:11px;--e-global-typography-chiffre-font-size:32px;--e-global-typography-corpsgros-font-size:17px;--e-global-typography-corpspetit-font-size:14px;--e-global-typography-mention-font-size:12px;font-size:16px;}.elementor-kit-8 h1{font-size:34px;}.elementor-kit-8 h2{font-size:28px;}.elementor-kit-8 h3{font-size:22px;}.elementor-kit-8 h4{font-size:19px;}.elementor-kit-8 h5{font-size:17px;}.elementor-kit-8 h6{font-size:11px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:16px;padding:16px 24px 16px 24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   KIT LE PARE-BRISE FRANÇAIS — bibliothèque de classes HDKN
   S'active en posant une classe CSS sur un conteneur ou un widget.
   Conteneur -> champ « Classes CSS » ;  Widget -> même champ.
   Retirer un effet = effacer la classe. Aucun code dans les pages.
   ========================================================= */

/* --- 1. Accessibilité : focus visible au clavier ------------------ */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,.elementor-button:focus-visible{
  outline:2px solid var(--e-global-color-accent);
  outline-offset:3px;border-radius:4px}

/* --- 2. Boutons : relief au survol -------------------------------- */
.elementor-button{transition:transform .3s ease,box-shadow .3s ease,
  background-color .3s ease,color .3s ease}
.elementor-widget-button .elementor-button:hover{transform:translateY(-2px);
  box-shadow:0 16px 34px -14px rgba(71,99,209,.85)}

/* --- 3. lpbf-carte : conteneur qui fait office de carte ----------- */
.lpbf-carte{position:relative;
  transition:transform .45s cubic-bezier(.2,.7,.3,1),
             box-shadow .45s ease,border-color .45s ease}
.lpbf-carte::after{content:"";position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;opacity:0;transition:opacity .45s ease;
  background:radial-gradient(130% 95% at 50% -12%,
    rgba(124,155,255,.16),rgba(124,155,255,0) 70%)}
.lpbf-carte:hover{transform:translateY(-6px);
  border-color:rgba(124,155,255,.42);
  box-shadow:0 22px 48px -24px rgba(26,57,140,.9)}
.lpbf-carte:hover::after{opacity:1}
.lpbf-carte:hover .elementor-icon{transform:translateY(-2px) scale(1.06)}

/* --- 4. lpbf-panneau : filet lumineux sur l'arête haute ----------- */
.lpbf-panneau{position:relative}
.lpbf-panneau::after{content:"";position:absolute;left:9%;right:9%;top:0;height:1px;
  pointer-events:none;background:linear-gradient(90deg,
    rgba(124,155,255,0),rgba(124,155,255,.55),rgba(124,155,255,0))}

/* --- 5. lpbf-halo : nappe de lumière derrière un titre ------------ */
.lpbf-halo{position:relative}
.lpbf-halo::after{content:"";position:absolute;left:50%;top:0;
  width:min(1100px,100%);height:360px;transform:translate(-50%,-58%);
  pointer-events:none;z-index:0;
  background:radial-gradient(closest-side,
    rgba(26,57,140,.20),rgba(26,57,140,0) 100%)}
.lpbf-halo>*{position:relative;z-index:1}

/* --- 6. lpbf-accent-orange : halo orange (sections CTA) ----------- */
.lpbf-accent-orange{position:relative}
.lpbf-accent-orange::after{content:"";position:absolute;left:50%;top:50%;
  width:min(900px,100%);height:420px;transform:translate(-50%,-50%);
  pointer-events:none;z-index:0;
  background:radial-gradient(closest-side,
    rgba(71,99,209,.16),rgba(71,99,209,0) 100%)}
.lpbf-accent-orange>*{position:relative;z-index:1}

/* --- 7. lpbf-liseré : trait tricolore sous un titre --------------- */
.lpbf-lisere{position:relative;padding-bottom:16px}
.lpbf-lisere::after{content:"";position:absolute;left:0;bottom:0;
  width:64px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#1F4391 0 33.3%,#fff 33.3% 66.6%,#E20D13 66.6%)}
.lpbf-lisere.lpbf-centre::after{left:50%;transform:translateX(-50%)}

/* --- 8. Tableaux d'un éditeur de texte : jamais de débordement ---- */
@media(max-width:767px){
  .elementor-widget-text-editor table{display:block;overflow-x:auto;
    overflow-y:hidden;width:100%;max-width:100%;font-size:13px}
  .elementor-widget-text-editor th,.elementor-widget-text-editor td{
    padding:10px 12px;min-width:88px}
}

/* --- 9. Liste d'icônes : lien en ligne (signature HDKN) ----------- */
.lpbf-signature .elementor-icon-list-item{white-space:nowrap}
.lpbf-signature .elementor-icon-list-item a{display:inline;text-decoration:none}
.lpbf-signature .elementor-icon-list-text{padding-inline-start:4px}

/* --- 10. lpbf-appel-mobile : barre d'appel collante en mobile ----- */
.lpbf-appel-mobile{display:none}
@media(max-width:767px){
  .lpbf-appel-mobile{display:block;position:fixed;left:0;right:0;bottom:0;
    z-index:998;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(5,6,10,.94);
    border-top:1px solid var(--e-global-color-ligne);
    backdrop-filter:saturate(140%) blur(8px)}
  body:has(.lpbf-appel-mobile){padding-bottom:76px}
}

/* --- 11. Utilitaires ---------------------------------------------- */
.lpbf-nowrap{white-space:nowrap}
.lpbf-majuscules{text-transform:uppercase;letter-spacing:.16em}
.lpbf-ombre-texte{text-shadow:0 2px 18px rgba(0,0,0,.45)}

/* --- 12. Mouvement réduit : on coupe tout -------------------------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* --- 13. lpbf-num : pastille numérotée des étapes ------------------ */
.lpbf-num .elementor-heading-title{display:grid;place-items:center;width:44px;height:44px;
  border-radius:50%;background:rgba(71,99,209,.12);border:1px solid rgba(71,99,209,.40)}

/* =========================================================
   14. PASSE PREMIUM — mouvements sobres, 100 % CSS
   Rien au-dessus de la ligne de flottaison qui retarde le LCP.
   Tout est coupé par @media (prefers-reduced-motion: reduce).
   ========================================================= */

/* 14.1 Défilement fluide sur les ancres du menu, sans casser le header collant */
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media(max-width:1024px){html{scroll-padding-top:88px}}
@media(max-width:767px){html{scroll-padding-top:82px}}
/* barre d admin WordPress : on ajoute sa hauteur au degagement */
html:has(body.admin-bar){scroll-padding-top:128px}
@media(max-width:782px){html:has(body.admin-bar){scroll-padding-top:128px}}

/* 14.2 Aurore lente derrière le hero — poser .lpbf-aurora sur la section */
.lpbf-aurora{position:relative;isolation:isolate;overflow:clip}
.lpbf-aurora::before{content:"";position:absolute;inset:-20% -10%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(38% 44% at 22% 30%,rgba(26,57,140,.42),transparent 70%),
    radial-gradient(32% 38% at 78% 62%,rgba(71,99,209,.20),transparent 70%),
    radial-gradient(30% 36% at 58% 12%,rgba(124,155,255,.18),transparent 70%);
  filter:blur(18px);
  animation:lpbfAurore 26s ease-in-out infinite alternate}
@keyframes lpbfAurore{
  0%  {transform:translate3d(0,0,0) scale(1)}
  50% {transform:translate3d(2.5%,-2%,0) scale(1.06)}
  100%{transform:translate3d(-2%,2.5%,0) scale(1.03)}}

/* 14.3 Reflet qui balaie le bouton principal au survol */
.elementor-widget-button .elementor-button{position:relative;overflow:hidden;isolation:isolate}
.elementor-widget-button .elementor-button::after{content:"";position:absolute;inset:0;z-index:-1;
  transform:translateX(-120%) skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transition:transform .75s cubic-bezier(.2,.7,.3,1)}
.elementor-widget-button .elementor-button:hover::after{transform:translateX(120%) skewX(-18deg)}

/* 14.4 Soulignement animé des entrées de menu */
.elementor-nav-menu--main .elementor-item{position:relative}
.elementor-nav-menu--main .elementor-item::before{content:"";position:absolute;
  left:13px;right:13px;bottom:6px;height:2px;border-radius:2px;
  background:var(--e-global-color-primary);
  transform:scaleX(0);transform-origin:left;
  transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.elementor-nav-menu--main .elementor-item:hover::before,
.elementor-nav-menu--main .current-menu-item .elementor-item::before{transform:scaleX(1)}

/* 14.5 Jauge de lecture tricolore — amélioration progressive, ignorée si non supportée */
@supports (animation-timeline: scroll()){
  body::before{content:"";position:fixed;left:0;top:0;height:2px;width:100%;z-index:999;
    transform-origin:0 50%;transform:scaleX(0);
    background:linear-gradient(90deg,#1F4391 0 33.3%,#fff 33.3% 66.6%,#E20D13 66.6%);
    animation:lpbfJauge linear both;animation-timeline:scroll(root block)}
  @keyframes lpbfJauge{to{transform:scaleX(1)}}
}

/* 14.6 Cartes : le halo suit désormais aussi le focus clavier */
.lpbf-carte:focus-within{transform:translateY(-6px);
  border-color:rgba(124,155,255,.42);box-shadow:0 22px 48px -24px rgba(26,57,140,.9)}
.lpbf-carte .elementor-icon{transition:transform .45s cubic-bezier(.2,.7,.3,1)}

/* 14.7 Champs de formulaire : anneau doux à la saisie */
.elementor-field-textual{transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}
.elementor-field-textual:focus{border-color:rgba(71,99,209,.55)!important;
  box-shadow:0 0 0 3px rgba(71,99,209,.16)!important;outline:none}

/* 14.8 Accordéon : ouverture sans à-coup */
.elementor-tab-content{transition:padding .25s ease}
.elementor-accordion .elementor-tab-title{transition:color .25s ease}

/* 14.9 Nombres clés : légère respiration au survol de la bande */
.lpbf-chiffre{transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.lpbf-chiffre:hover{transform:translateY(-3px)}

/* 14.10 Le mouvement réduit coupe tout, y compris le défilement fluide */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lpbf-aurora::before{animation:none}
  body::before{display:none}
}

/* =========================================================
   15. FOND DE MARQUE — relevé sur le visuel fourni par le client
   Dégradé marine + grille technique + halo bleu en bas à gauche.
   100 % CSS : aucune image, aucun poids réseau.
   Poser la classe .lpbf-grille sur une section.
   ========================================================= */
.lpbf-grille{position:relative;isolation:isolate;
  background:
    radial-gradient(120% 90% at 8% 96%,rgba(26,57,140,.34),transparent 62%),
    radial-gradient(90% 70% at 88% 8%,rgba(8,12,24,.85),transparent 70%),
    linear-gradient(168deg,#04050A 0%,#06080F 46%,#080C18 100%)}
/* la grille : deux trames de lignes, atténuées vers les bords */
.lpbf-grille::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:104px 104px;
  -webkit-mask-image:radial-gradient(120% 100% at 30% 40%,#000 35%,transparent 88%);
          mask-image:radial-gradient(120% 100% at 30% 40%,#000 35%,transparent 88%)}
/* une seconde trame plus fine, qui dérive très lentement */
.lpbf-grille::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(124,155,255,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(124,155,255,.05) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(90% 80% at 20% 90%,#000 10%,transparent 70%);
          mask-image:radial-gradient(90% 80% at 20% 90%,#000 10%,transparent 70%);
  animation:lpbfTrame 40s linear infinite}
@keyframes lpbfTrame{to{background-position:26px 26px,26px 26px}}
@media(max-width:767px){
  .lpbf-grille::before{background-size:72px 72px}
  .lpbf-grille::after{animation:none}
}

/* 15.1 Signature manuscrite de la marque */
.lpbf-baseline .elementor-heading-title{
  font-family:'Caveat','Segoe Script','Brush Script MT',cursive;
  font-weight:600;letter-spacing:.01em}

/* 15.2 Le coq — apparition et flottement doux */
.lpbf-coq img{display:block;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.55));
  animation:lpbfCoqEntree .9s cubic-bezier(.2,.8,.25,1) both,
            lpbfCoqFlotte 6.5s ease-in-out 1s infinite}
@keyframes lpbfCoqEntree{
  from{opacity:0;transform:translateY(26px) rotate(-3deg) scale(.94)}
  to  {opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes lpbfCoqFlotte{
  0%,100%{transform:translateY(0) rotate(0)}
  50%    {transform:translateY(-11px) rotate(1.2deg)}}
/* petit salut quand on le survole */
.lpbf-coq:hover img{animation:lpbfCoqSalut 1.1s ease-in-out}
@keyframes lpbfCoqSalut{
  0%,100%{transform:translateY(0) rotate(0)}
  20%    {transform:translateY(-14px) rotate(-5deg)}
  45%    {transform:translateY(-8px) rotate(4deg)}
  70%    {transform:translateY(-12px) rotate(-2deg)}}
/* socle lumineux sous le coq */
.lpbf-coq{position:relative}
.lpbf-coq::after{content:"";position:absolute;left:50%;bottom:-6px;
  width:62%;height:26px;transform:translateX(-50%);z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(26,57,140,.55),transparent 75%);
  filter:blur(6px);
  animation:lpbfSocle 6.5s ease-in-out 1s infinite}
@keyframes lpbfSocle{
  0%,100%{opacity:.85;transform:translateX(-50%) scaleX(1)}
  50%    {opacity:.55;transform:translateX(-50%) scaleX(.86)}}

@media(prefers-reduced-motion:reduce){
  .lpbf-grille::after,.lpbf-coq img,.lpbf-coq::after{animation:none!important}
  .lpbf-coq img{opacity:1;transform:none}
}

/* --- 16. lpbf-cadeau : cartes cadeaux cliquables ------------------ */
.lpbf-cadeau{position:relative;border-radius:18px;overflow:hidden;
  border:1px solid var(--e-global-color-ligne);background:var(--e-global-color-fondcarte);
  transition:transform .45s cubic-bezier(.2,.7,.3,1),border-color .45s ease,box-shadow .45s ease}
.lpbf-cadeau:hover,.lpbf-cadeau:focus-within{transform:translateY(-6px);
  border-color:rgba(124,155,255,.45);box-shadow:0 26px 52px -30px rgba(30,69,173,.95)}
.lpbf-cadeau .elementor-widget-image{margin:0!important;line-height:0}
.lpbf-cadeau .elementor-widget-image img{display:block;width:100%;height:auto;
  transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.lpbf-cadeau:hover .elementor-widget-image img{transform:scale(1.045)}
.lpbf-cadeau a{display:block;text-decoration:none;color:inherit}
.lpbf-cadeau a:focus-visible{outline:3px solid var(--e-global-color-accent);outline-offset:3px}
.lpbf-cadeau-cond{margin:0!important}
.lpbf-cadeau-cond,.lpbf-cadeau-cond .elementor-widget-container{padding:13px 14px 15px;text-align:center;font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--e-global-color-secondary)!important}
.lpbf-cadeau-cond p{margin:0;color:inherit!important}
@media(max-width:767px){.lpbf-cadeau{border-radius:14px}
  .lpbf-cadeau-cond,.lpbf-cadeau-cond .elementor-widget-container{padding:11px 8px 13px;font-size:10.5px;letter-spacing:.02em}}
@media(prefers-reduced-motion:reduce){.lpbf-cadeau,.lpbf-cadeau img{transition:none!important}}


.lpbf-cadeaux-intro{max-width:660px!important}

/* --- 17. lpbf-coq-hero : mascotte coupée par le bas du hero ------ */
.lpbf-coq-hero{position:absolute!important;left:50%;bottom:-58px;z-index:1;
  width:284px!important;margin:0 0 0 -276px!important;padding:0!important;pointer-events:none}
.lpbf-coq-hero img{display:block;width:100%!important;height:auto;max-width:none;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.55));
  animation:lpbfCoqEntree 1s cubic-bezier(.2,.9,.3,1.2) both,
            lpbfCoqDerive 11s ease-in-out 1.1s infinite}
@keyframes lpbfCoqEntree{from{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:none}}
@keyframes lpbfCoqDerive{0%,100%{transform:translateX(0)}25%{transform:translateX(-11px)}75%{transform:translateX(11px)}}

@media(max-width:1024px){
 .lpbf-coq-hero{position:relative!important;left:auto;bottom:auto;width:200px!important;
   margin:22px auto -18px auto!important}}
@media(max-width:767px){
 .lpbf-coq-hero{width:156px!important;margin:14px auto -22px auto!important}}
@media(prefers-reduced-motion:reduce){.lpbf-coq-hero img{animation:none!important}}

/* --- 18. Charte : rouge (important) / gris (secondaire) ----------- */
.lpbf-rouge,.lpbf-rouge *{color:var(--e-global-color-rouge)!important}
.lpbf-gris,.lpbf-gris *{color:var(--e-global-color-grisclair)!important}
.lpbf-gris-souris,.lpbf-gris-souris *{color:var(--e-global-color-textesecond)!important}
.lpbf-pastille-rouge{display:inline-flex;align-items:center;gap:9px;
  padding:8px 17px;border-radius:999px;
  background:color-mix(in srgb,var(--e-global-color-rouge) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--e-global-color-rouge) 42%,transparent);
  color:var(--e-global-color-rouge);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@supports not (color:color-mix(in srgb,red 10%,transparent)){
  .lpbf-pastille-rouge{background:rgba(255,59,65,.12);border-color:rgba(255,59,65,.42)}}
.lpbf-souligne-rouge{position:relative;display:inline-block}
.lpbf-souligne-rouge::after{content:"";position:absolute;left:0;right:0;bottom:-.12em;height:.09em;
  border-radius:2px;background:var(--e-global-color-rouge);opacity:.85}


/* --- 19. lpbf-plaque : plaque d'immatriculation (cosmétique) ------ */
.elementor-field-group-immat,.lpbf-plaque,.elementor-field-group-immat2{position:relative}
.elementor-field-group-immat input,.lpbf-plaque input,.elementor-field-group-immat2 input{
  height:74px;padding:0 18px 0 78px!important;border-radius:12px!important;
  background:linear-gradient(180deg,#FFFFFF,#EDF1F7)!important;color:#0A0C12!important;
  border:3px solid var(--e-global-color-bleumarque)!important;
  font-weight:800;font-size:clamp(19px,3.4vw,27px);letter-spacing:.14em;text-align:center;
  text-transform:uppercase;box-shadow:0 14px 34px -22px #000,inset 0 -2px 0 rgba(10,12,18,.08);
  transition:border-color .3s ease,box-shadow .3s ease}
.elementor-field-group-immat input,.lpbf-plaque input::placeholder,.elementor-field-group-immat2 input{color:#9299A6;font-weight:700;letter-spacing:.14em}
.elementor-field-group-immat input,.lpbf-plaque input:focus,.elementor-field-group-immat2 input{border-color:var(--e-global-color-accent)!important;
  box-shadow:0 0 0 4px rgba(124,155,255,.28),0 14px 34px -22px #000!important}
.elementor-field-group-immat::before,.lpbf-plaque::before,.elementor-field-group-immat2::before{content:"F";position:absolute;left:3px;bottom:3px;width:56px;height:68px;z-index:2;
  border-radius:9px 0 0 9px;pointer-events:none;
  background:linear-gradient(180deg,#1440A8,#0A245E);
  color:#FFFFFF;font-weight:800;font-size:15px;line-height:1;
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:9px;box-sizing:border-box}
.elementor-field-group-immat::after,.lpbf-plaque::after,.elementor-field-group-immat2::after{content:"";position:absolute;left:29px;bottom:44px;width:3px;height:3px;z-index:3;
  border-radius:50%;background:transparent;pointer-events:none;
  box-shadow:0 -11px #FFCC00,5.5px -9.5px #FFCC00,9.5px -5.5px #FFCC00,11px 0 #FFCC00,
             9.5px 5.5px #FFCC00,5.5px 9.5px #FFCC00,0 11px #FFCC00,-5.5px 9.5px #FFCC00,
             -9.5px 5.5px #FFCC00,-11px 0 #FFCC00,-9.5px -5.5px #FFCC00,-5.5px -9.5px #FFCC00}
.lpbf-plaque-inactive,.elementor-field-group-immat2.lpbf-v2-off{opacity:.42}
.lpbf-plaque-inactive input,.elementor-field-group-immat2.lpbf-v2-off input{cursor:not-allowed}

/* case « je ne connais pas mon immatriculation » */
.elementor-field-group-sansimmat,.lpbf-sansimmat,.elementor-field-group-sansimmat2{justify-content:center}
.elementor-field-group-sansimmat .elementor-field-option,.lpbf-sansimmat .elementor-field-option,.elementor-field-group-sansimmat2 .elementor-field-option{display:inline-flex;align-items:center;gap:10px;
  margin:0 auto;padding:9px 18px;border-radius:999px;
  border:1px dashed var(--e-global-color-ligne);
  transition:border-color .3s ease,background .3s ease}
.elementor-field-group-sansimmat .elementor-field-option:hover,.lpbf-sansimmat .elementor-field-option:hover,.elementor-field-group-sansimmat2 .elementor-field-option:hover{border-color:var(--e-global-color-accent);
  background:var(--e-global-color-fondsurvol)}
.elementor-field-group-sansimmat label,.lpbf-sansimmat label,.elementor-field-group-sansimmat2 label{font-size:13.5px;color:var(--e-global-color-textesecond);cursor:pointer}
.elementor-field-group-sansimmat input[type=checkbox],.lpbf-sansimmat input[type=checkbox],.elementor-field-group-sansimmat2 input[type=checkbox]{width:16px;height:16px;accent-color:var(--e-global-color-primary);cursor:pointer}

/* champ téléphone avec indicatif FR +33 */
.elementor-field-group-telephone,.lpbf-tel{position:relative}
.elementor-field-group-telephone input:focus,.lpbf-tel input:focus{box-shadow:0 0 0 3px rgba(124,155,255,.28)}
.elementor-field-group-telephone input,.lpbf-tel input{height:58px;padding-left:104px!important;text-align:center;letter-spacing:.06em;font-weight:600;font-size:17px}
.elementor-field-group-telephone::before,.lpbf-tel::before{content:"FR +33";position:absolute;left:5px;bottom:5px;height:48px;width:90px;border-radius:8px;pointer-events:none;z-index:2;background:var(--e-global-color-primary);color:var(--e-global-color-encre);font-size:13px;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;justify-content:center}

/* libellés du formulaire */
.elementor-widget-form .elementor-field-label{font-size:13px;font-weight:700;letter-spacing:.04em;
  color:var(--e-global-color-text);margin-bottom:7px}
.elementor-widget-form .elementor-mark-required .elementor-field-label:after{
  color:var(--e-global-color-rouge);margin-left:3px}
@media(max-width:767px){
  .elementor-field-group-immat input,.lpbf-plaque input,.elementor-field-group-immat2 input{height:64px;padding-left:68px!important;font-size:19px;letter-spacing:.1em}
  .elementor-field-group-immat::before,.lpbf-plaque::before,.elementor-field-group-immat2::before{width:50px;height:58px;font-size:13px;padding-bottom:7px}
  .elementor-field-group-immat::after,.lpbf-plaque::after,.elementor-field-group-immat2::after{left:26px;bottom:38px}
  .elementor-field-group-telephone input,.lpbf-tel input{padding-left:88px!important}
}


/* --- 20. Cadeaux : détail au premier clic, formulaire au second --- */
.lpbf-cadeau{cursor:pointer}
.lpbf-cadeau:focus-visible{outline:3px solid var(--e-global-color-accent);outline-offset:3px}
.lpbf-cadeau-detail{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:9px;text-align:center;padding:20px 16px;
  background:linear-gradient(180deg,rgba(5,6,10,.92),rgba(5,6,10,.97));
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .32s ease,transform .32s ease,visibility .32s}
.lpbf-cadeau-ouvert .lpbf-cadeau-detail{opacity:1;visibility:visible;transform:none}
.lpbf-cadeau-detail-nom{font-size:16px;font-weight:800;line-height:1.2;color:var(--e-global-color-text)}
.lpbf-cadeau-detail-txt{font-size:12.5px;line-height:1.5;color:var(--e-global-color-grisclair)}
.lpbf-cadeau-detail-pb{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--e-global-color-rouge)}
.lpbf-cadeau-detail-cta{margin-top:4px;padding:9px 16px;border-radius:999px;
  background:var(--e-global-color-primary);color:var(--e-global-color-encre);
  font-size:12px;font-weight:800;letter-spacing:.04em}
.lpbf-cadeau-ouvert{transform:translateY(-6px);border-color:rgba(124,155,255,.55)}
@media(max-width:767px){
  .lpbf-cadeau-detail{padding:12px 10px;gap:6px}
  .lpbf-cadeau-detail-nom{font-size:13.5px}
  .lpbf-cadeau-detail-txt{font-size:11px;line-height:1.4}
  .lpbf-cadeau-detail-pb{font-size:10px}
  .lpbf-cadeau-detail-cta{font-size:11px;padding:7px 12px}
}
@media(prefers-reduced-motion:reduce){.lpbf-cadeau-detail{transition:none!important}}

/* étape 2 du formulaire : le cadeau choisi */
.elementor-field-group-cadeau select{height:56px;font-weight:600}
.e-form__indicators{margin-bottom:16px}
.e-form__indicators__indicator__label{font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.e-form__indicators__indicator--state-active .e-form__indicators__indicator__label{color:var(--e-global-color-text)}
.e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__label{color:var(--e-global-color-textesecond)}
.e-form__indicators__indicator__progress__meter{background-color:var(--e-global-color-primary)}


/* --- 21. Page contact : carte et bouton secondaire ---------------- */
.lpbf-fond-doux{position:relative;
  background:radial-gradient(120% 78% at 50% -12%,rgba(30,69,173,.22),transparent 62%),
             var(--e-global-color-fondprofond)}
.lpbf-contact-row{align-items:stretch!important}
.lpbf-carte-contact{position:relative;border-radius:20px;overflow:hidden;
  background:linear-gradient(180deg,var(--e-global-color-fondcarte),var(--e-global-color-fondprofond));
  border:1px solid var(--e-global-color-ligne);box-shadow:0 34px 64px -44px #000}
.lpbf-carte-contact::before{content:"";position:absolute;left:28px;right:28px;top:0;height:2px;
  border-radius:0 0 3px 3px;background:var(--e-global-color-rouge);opacity:.9}
.lpbf-carte-contact > .elementor-widget-heading{margin-top:22px!important;padding-top:22px!important;
  border-top:1px solid var(--e-global-color-ligne)}
.lpbf-carte-contact > .elementor-widget-heading:first-child{margin-top:0!important;padding-top:0!important;border-top:0}
.lpbf-carte-contact > .elementor-widget-text-editor{font-size:16px;line-height:1.75}
.lpbf-carte-contact > .elementor-widget-button:first-of-type{margin-top:26px!important;padding-top:26px!important;
  border-top:1px solid var(--e-global-color-ligne)}
.lpbf-carte-contact > .elementor-widget-button .elementor-button{width:100%}

.lpbf-carte-map{position:relative;align-self:stretch!important}
.lpbf-carte-map .elementor-widget-google_maps,
.lpbf-carte-map .elementor-widget-google_maps > .elementor-widget-container,
.lpbf-carte-map .elementor-custom-embed{height:100%!important}
.lpbf-carte-map .elementor-widget-google_maps,
.lpbf-map{border-radius:20px;overflow:hidden;border:1px solid var(--e-global-color-ligne);
  box-shadow:0 34px 64px -44px #000}
.lpbf-map .cmplz-placeholder-parent{height:100%!important}
.lpbf-map iframe{display:block;height:100%!important;min-height:470px;
  filter:invert(86%) hue-rotate(180deg) saturate(.92) brightness(1.24) contrast(.9)}
.lpbf-carte-map::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:20px;
  box-shadow:inset 0 0 0 1px var(--e-global-color-ligne),inset 0 -80px 100px -70px var(--e-global-color-fondprofond)}

.lpbf-btn-secondaire .elementor-button{background:transparent!important;
  border:1px solid var(--e-global-color-ligne);color:var(--e-global-color-text)!important;
  transition:border-color .3s ease,background .3s ease}
.lpbf-btn-secondaire .elementor-button:hover{border-color:var(--e-global-color-accent);
  background:var(--e-global-color-fondsurvol)!important}
@media(max-width:767px){.lpbf-map iframe{min-height:300px}
  .lpbf-carte-contact > .elementor-widget-heading{margin-top:18px!important;padding-top:18px!important}}




/* --- 22. lpbf-urgence : 3 niveaux d'urgence en encarts ------------ */
.lpbf-urgence{display:grid!important;gap:10px;width:100%}
@media(min-width:480px){.lpbf-urgence{grid-template-columns:repeat(3,1fr)}}
.lpbf-urgence .elementor-field-option{
  display:flex!important;align-items:center;justify-content:center;
  width:100%;margin:0;min-height:68px;padding:0;box-sizing:border-box;
  border-radius:12px;cursor:pointer;position:relative;
  background:var(--e-global-color-fondprofond);
  border:1px solid var(--e-global-color-ligne);
  transition:border-color .28s ease,background .28s ease,transform .28s ease}
.lpbf-urgence .elementor-field-option:hover{
  border-color:var(--e-global-color-accent);
  background:var(--e-global-color-fondsurvol);transform:translateY(-2px)}
.lpbf-urgence .elementor-field-option:has(input[type=radio]:checked){
  border-color:var(--e-global-color-rouge);
  background:var(--e-global-color-fondsurvol);
  box-shadow:inset 0 0 0 1px var(--e-global-color-rouge)}
.lpbf-urgence .elementor-field-option:has(input[type=radio]:focus-visible){
  outline:3px solid var(--e-global-color-accent);outline-offset:2px}
.lpbf-urgence input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.lpbf-urgence .elementor-field-option label{
  display:flex!important;align-items:center;justify-content:center;text-align:center;
  width:100%!important;min-height:68px;padding:10px 8px;margin:0;box-sizing:border-box;
  background:none;border:0;cursor:pointer;
  color:var(--e-global-color-textesecond);
  font-size:12px;font-weight:600;line-height:1.3;transition:color .28s ease}
.lpbf-urgence .elementor-field-option:hover label,
.lpbf-urgence .elementor-field-option:has(input[type=radio]:checked) label{
  color:var(--e-global-color-text)}

/* bouton « Retour » du formulaire en style secondaire */
.elementor-widget-form .e-form__buttons__wrapper__button-previous{
  background-color:transparent!important;color:var(--e-global-color-text)!important;
  border:1px solid var(--e-global-color-ligne);
  transition:border-color .3s ease,background .3s ease}
.elementor-widget-form .e-form__buttons__wrapper__button-previous:hover{
  border-color:var(--e-global-color-accent);
  background-color:var(--e-global-color-fondsurvol)!important;
  color:var(--e-global-color-text)!important}
@media(prefers-reduced-motion:reduce){
  .lpbf-urgence .elementor-field-option{transition:none!important}}


/* --- 23. FAQ, astérisques et réseaux ------------------------------ */
.lpbf-faq .elementor-accordion-item{border:1px solid var(--e-global-color-ligne)!important;
  border-radius:14px;margin-bottom:10px;overflow:hidden;background:var(--e-global-color-fondcarte);
  transition:border-color .3s ease,background .3s ease}
.lpbf-faq .elementor-accordion-item:hover{border-color:rgba(124,155,255,.4)}
.lpbf-faq .elementor-tab-title{padding:17px 20px!important;font-size:15px;font-weight:700;
  line-height:1.35;color:var(--e-global-color-text)}
.lpbf-faq .elementor-tab-title.elementor-active{color:var(--e-global-color-secondary)}
.lpbf-faq .elementor-tab-content{padding:0 20px 19px!important;border:0!important;
  color:var(--e-global-color-grisclair);font-size:14.5px;line-height:1.62}
.lpbf-faq .elementor-accordion-item .elementor-accordion-icon,
.lpbf-faq .elementor-accordion-item .elementor-accordion-icon svg{color:var(--e-global-color-secondary);fill:var(--e-global-color-secondary)}
.lpbf-faq .elementor-accordion-item .elementor-active .elementor-accordion-icon,
.lpbf-faq .elementor-accordion-item .elementor-active .elementor-accordion-icon svg{color:var(--e-global-color-accent);fill:var(--e-global-color-accent)}
.lpbf-faq .elementor-tab-title .elementor-accordion-title{color:var(--e-global-color-text)}
.lpbf-faq .elementor-tab-title:hover .elementor-accordion-title{color:var(--e-global-color-accent)}
.lpbf-faq .elementor-tab-title.elementor-active .elementor-accordion-title{color:var(--e-global-color-secondary)}
.lpbf-faq-fin{margin-top:22px!important;font-size:14px}
.lpbf-faq-fin a{color:var(--e-global-color-secondary);text-decoration:underline;text-underline-offset:3px}
.lpbf-faq-fin a:hover{color:var(--e-global-color-accent)}
.lpbf-aster{color:var(--e-global-color-rouge);font-weight:800}
.lpbf-note-aster{margin-top:22px!important;font-size:12.5px;line-height:1.5}
@media(max-width:767px){
  .lpbf-faq .elementor-tab-title{padding:14px 15px!important;font-size:14px}
  .lpbf-faq .elementor-tab-content{padding:0 15px 16px!important;font-size:13.5px}
}

/* réseaux sociaux du pied de page */
.lpbf-reseaux{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lpbf-reseaux a,.lpbf-reseaux span{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:11px;
  border:1px solid var(--e-global-color-ligne);color:var(--e-global-color-text);
  font-size:17px;text-decoration:none;
  transition:border-color .3s ease,background .3s ease,transform .3s ease,color .3s ease}
.lpbf-reseaux a:hover{border-color:var(--e-global-color-accent);
  background:var(--e-global-color-fondsurvol);transform:translateY(-2px)}
.lpbf-reseaux a:focus-visible{outline:3px solid var(--e-global-color-accent);outline-offset:3px}
.lpbf-reseaux span{opacity:.34;cursor:default}
.lpbf-reseaux-note{margin-top:10px!important;font-size:11.5px;letter-spacing:.02em}


/* --- 24. lpbf-argument : bande de réassurance sous le hero -------- */
.lpbf-argument{position:relative;border-radius:16px;overflow:hidden;
  background:var(--e-global-color-fondcarte);
  border:1px solid var(--e-global-color-ligne);
  transition:border-color .4s ease,transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s ease}
.lpbf-argument::before{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;
  border-radius:0 0 3px 3px;background:var(--e-global-color-rouge);opacity:.9}
.lpbf-argument:nth-child(3)::before,.lpbf-argument:nth-child(4)::before{
  background:var(--e-global-color-secondary)}
.lpbf-argument:hover{transform:translateY(-5px);border-color:rgba(124,155,255,.42);
  box-shadow:0 24px 46px -30px rgba(30,69,173,.9)}
.lpbf-argument .lpbf-chiffre .elementor-heading-title{line-height:1}
.lpbf-argument .elementor-widget-heading + .elementor-widget-heading{margin-top:4px}
@media(max-width:767px){
  .lpbf-argument{border-radius:14px}
  .lpbf-argument::before{left:18px;right:18px}
}
@media(prefers-reduced-motion:reduce){.lpbf-argument{transition:none!important}}

/* mention des conditions sous la grille cadeaux */
.lpbf-cadeaux-mention{max-width:640px!important;margin-left:auto!important;margin-right:auto!important;
  text-align:center;font-size:12.5px;line-height:1.6}
.lpbf-cadeaux-mention p{text-align:center}


/* --- 25. Ajustements telephone -------------------------------- */
@media(max-width:767px){
 .lpbf-menu{margin-left:auto!important;flex:0 0 46px!important;width:46px!important;min-width:0!important;position:static!important}
 .lpbf-menu .elementor-menu-toggle{padding:4px 0;margin:0 auto}
 .lpbf-menu .elementor-nav-menu--dropdown{position:absolute!important;top:100%;left:0;right:0;
   width:auto!important;max-width:none;z-index:120;border-radius:0 0 16px 16px;overflow:hidden;
   box-shadow:0 26px 50px -22px rgba(0,0,0,.9)}
 .lpbf-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown{
   max-height:calc(100vh - 96px)!important;transform:scaleY(1)!important;overflow:hidden auto!important}
 .lpbf-menu .elementor-nav-menu--dropdown .elementor-item{padding:15px 20px!important}
 .elementor-element-3f4b549{flex:0 0 auto!important}
 .elementor-element-3f4b549 img{width:138px!important;max-width:none}
 .lpbf-cta-header .elementor-button{white-space:nowrap;padding:11px 16px!important;font-size:13.5px!important}
 .lpbf-argument{width:calc(50% - 9px)!important;padding:18px 16px!important}
 .lpbf-argument .elementor-heading-title{line-height:1.15}
 .lpbf-argument .elementor-widget-text-editor{font-size:12.5px;line-height:1.5}
 .lpbf-cadeau{padding-bottom:12px!important}
 .e-form__indicators{padding:0 8px;gap:6px}
 .e-form__indicators__indicator__label{font-size:10px;letter-spacing:.04em}
}


/* --- 26. Selecteur de vitrage (etape 1) ------------------------- */
.elementor-field-group-vitrage .elementor-field-subgroup,.elementor-field-group-vitrage2 .elementor-field-subgroup{display:grid!important;gap:8px;width:100%;grid-template-columns:repeat(3,1fr)}
.elementor-field-group-vitrage .elementor-field-option,.elementor-field-group-vitrage2 .elementor-field-option{position:relative;margin:0;border-radius:14px;overflow:hidden;cursor:pointer;
  background:var(--e-global-color-fondprofond);border:1px solid var(--e-global-color-ligne);
  transition:border-color .25s ease,background .25s ease,transform .25s ease}
.elementor-field-group-vitrage .elementor-field-option:hover,.elementor-field-group-vitrage2 .elementor-field-option:hover{border-color:rgba(124,155,255,.42);transform:translateY(-2px)}
.elementor-field-group-vitrage input[type=radio],.elementor-field-group-vitrage2 input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.elementor-field-group-vitrage .elementor-field-option label,.elementor-field-group-vitrage2 .elementor-field-option label{display:block!important;width:100%;margin:0!important;padding:88px 7px 32px!important;
  text-align:center;font-weight:800;font-size:13px;line-height:1.25;color:var(--e-global-color-text);
  cursor:pointer;background-repeat:no-repeat;background-position:center 12px;background-size:auto 64px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 92'%3E%3Crect x='6' y='4' width='48' height='84' rx='16' fill='%230E1015' stroke='%232B3140' stroke-width='2'/%3E%3Cpath d='M17 24 L43 24 L47 39 L13 39 Z' fill='%232B3140'/%3E%3Crect x='13' y='40' width='34' height='17' rx='3' fill='%23191D26'/%3E%3Cpath d='M13 58 L47 58 L43 72 L17 72 Z' fill='%232B3140'/%3E%3Crect x='6' y='41' width='7' height='8' rx='2.5' fill='%232B3140'/%3E%3Crect x='6' y='51' width='7' height='8' rx='2.5' fill='%232B3140'/%3E%3Crect x='47' y='41' width='7' height='8' rx='2.5' fill='%232B3140'/%3E%3Crect x='47' y='51' width='7' height='8' rx='2.5' fill='%232B3140'/%3E%3C/svg%3E")}
.elementor-field-group-vitrage .elementor-field-option::before,.elementor-field-group-vitrage2 .elementor-field-option::before{content:"";position:absolute;left:50%;top:12px;
  transform:translateX(-50%);width:42px;height:64px;pointer-events:none;z-index:2;
  background:var(--e-global-color-rouge);
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center}
.elementor-field-group-vitrage .elementor-field-option:nth-child(1)::before,.elementor-field-group-vitrage2 .elementor-field-option:nth-child(1)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 92'%3E%3Cpath d='M17 24 L43 24 L47 39 L13 39 Z' fill='%23ffffff'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 92'%3E%3Cpath d='M17 24 L43 24 L47 39 L13 39 Z' fill='%23ffffff'/%3E%3C/svg%3E")}
.elementor-field-group-vitrage .elementor-field-option:nth-child(2)::before,.elementor-field-group-vitrage2 .elementor-field-option:nth-child(2)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 92'%3E%3Cpath d='M13 58 L47 58 L43 72 L17 72 Z' fill='%23ffffff'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 92'%3E%3Cpath d='M13 58 L47 58 L43 72 L17 72 Z' fill='%23ffffff'/%3E%3C/svg%3E")}
.elementor-field-group-vitrage .elementor-field-option:nth-child(3)::before,.elementor-field-group-vitrage2 .elementor-field-option:nth-child(3)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 92'%3E%3Crect x='6' y='41' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3Crect x='6' y='51' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3Crect x='47' y='41' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3Crect x='47' y='51' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 92'%3E%3Crect x='6' y='41' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3Crect x='6' y='51' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3Crect x='47' y='41' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3Crect x='47' y='51' width='7' height='8' rx='2.5' fill='%23ffffff'/%3E%3C/svg%3E")}
.elementor-field-group-vitrage .elementor-field-option::after,.elementor-field-group-vitrage2 .elementor-field-option::after{position:absolute;left:6px;right:6px;bottom:10px;text-align:center;
  font-size:10.5px;font-weight:600;line-height:1.3;color:var(--e-global-color-textesecond);pointer-events:none}
.elementor-field-group-vitrage .elementor-field-option:nth-child(1)::after,.elementor-field-group-vitrage2 .elementor-field-option:nth-child(1)::after{content:"Vitre avant"}
.elementor-field-group-vitrage .elementor-field-option:nth-child(2)::after,.elementor-field-group-vitrage2 .elementor-field-option:nth-child(2)::after{content:"Vitre arri\00E8re"}
.elementor-field-group-vitrage .elementor-field-option:nth-child(3)::after,.elementor-field-group-vitrage2 .elementor-field-option:nth-child(3)::after{content:"Vitres de porti\00E8res"}
.elementor-field-group-vitrage .elementor-field-option:has(input:checked),.elementor-field-group-vitrage2 .elementor-field-option:has(input:checked){border-color:var(--e-global-color-rouge);
  background:var(--e-global-color-fondsurvol);box-shadow:inset 0 0 0 1px var(--e-global-color-rouge)}

.elementor-field-group-laterale .elementor-field-subgroup,.elementor-field-group-laterale2 .elementor-field-subgroup{display:grid!important;gap:9px;width:100%;grid-template-columns:repeat(2,1fr)}
.elementor-field-group-laterale .elementor-field-option,.elementor-field-group-laterale2 .elementor-field-option{position:relative;margin:0;min-height:54px;border-radius:12px;cursor:pointer;
  background:var(--e-global-color-fondprofond);border:1px solid var(--e-global-color-ligne);
  display:flex!important;align-items:center;justify-content:center;
  transition:border-color .25s ease,background .25s ease}
.elementor-field-group-laterale input[type=radio],.elementor-field-group-laterale2 input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.elementor-field-group-laterale .elementor-field-option label,.elementor-field-group-laterale2 .elementor-field-option label{display:flex!important;align-items:center;justify-content:center;text-align:center;
  width:100%!important;min-height:54px;margin:0!important;padding:8px 10px!important;
  font-size:12px;font-weight:700;line-height:1.3;color:var(--e-global-color-text);cursor:pointer}
.elementor-field-group-laterale .elementor-field-option:has(input:checked),.elementor-field-group-laterale2 .elementor-field-option:has(input:checked){border-color:var(--e-global-color-rouge);
  background:var(--e-global-color-fondsurvol);box-shadow:inset 0 0 0 1px var(--e-global-color-rouge)}
.lpbf-masque{display:none!important}

@media(max-width:767px){
 .elementor-field-group-vitrage .elementor-field-option label,.elementor-field-group-vitrage2 .elementor-field-option label{padding:66px 3px 36px!important;font-size:10.5px;line-height:1.2;background-size:auto 46px;background-position:center 10px}
 .elementor-field-group-vitrage .elementor-field-option::before,.elementor-field-group-vitrage2 .elementor-field-option::before{top:10px;width:30px;height:46px}
 .elementor-field-group-vitrage .elementor-field-option::after,.elementor-field-group-vitrage2 .elementor-field-option::after{bottom:7px;left:2px;right:2px;font-size:8.5px;line-height:1.25}
 .elementor-field-group-laterale .elementor-field-option label,.elementor-field-group-laterale2 .elementor-field-option label{font-size:11px;padding:8px 6px!important}
}


/* --- 27. Ambiance premium : grain, lueurs, filets --------------- */
/* grain global : casse le noir plat et le banding des degrades */
body{position:relative}
body::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;
  z-index:1;pointer-events:none;opacity:.032;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)' opacity='0.5'/%3E%3C/svg%3E");background-size:160px 160px}

/* lueurs de section : la couleur vient des globals du kit */
.lpbf-ambiance,.lpbf-ambiance-g,.lpbf-ambiance-d{position:relative}
.lpbf-ambiance::before,.lpbf-ambiance-g::before,.lpbf-ambiance-d::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none}
.lpbf-ambiance::before{
  background:radial-gradient(118% 72% at 50% -8%,rgba(30,69,173,.20),transparent 68%),radial-gradient(70% 55% at 88% 108%,rgba(124,155,255,.07),transparent 68%);
  background:radial-gradient(118% 72% at 50% -8%,color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),transparent 68%),radial-gradient(70% 55% at 88% 108%,color-mix(in srgb,var(--e-global-color-accent) 7%,transparent),transparent 68%)}
.lpbf-ambiance-g::before{
  background:radial-gradient(92% 78% at -6% 4%,rgba(30,69,173,.18),transparent 68%),radial-gradient(64% 52% at 104% 96%,rgba(124,155,255,.06),transparent 68%);
  background:radial-gradient(92% 78% at -6% 4%,color-mix(in srgb,var(--e-global-color-primary) 18%,transparent),transparent 68%),radial-gradient(64% 52% at 104% 96%,color-mix(in srgb,var(--e-global-color-accent) 6%,transparent),transparent 68%)}
.lpbf-ambiance-d::before{
  background:radial-gradient(92% 78% at 106% 4%,rgba(30,69,173,.18),transparent 68%),radial-gradient(64% 52% at -4% 96%,rgba(124,155,255,.06),transparent 68%);
  background:radial-gradient(92% 78% at 106% 4%,color-mix(in srgb,var(--e-global-color-primary) 18%,transparent),transparent 68%),radial-gradient(64% 52% at -4% 96%,color-mix(in srgb,var(--e-global-color-accent) 6%,transparent),transparent 68%)}

/* filet de separation qui s estompe aux deux bouts */
.lpbf-filet{position:relative}
.lpbf-filet::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:2;
  pointer-events:none;background:linear-gradient(90deg,transparent,
    rgba(124,155,255,.30) 24%,rgba(124,155,255,.30) 76%,transparent)}

@media(max-width:767px){
 body::after{opacity:.026}
 .lpbf-ambiance::before,.lpbf-ambiance-g::before,.lpbf-ambiance-d::before{opacity:.75}
}

/* carte Google en version sombre, hors page contact */
.lpbf-map-sombre{border-radius:20px;overflow:hidden;border:1px solid var(--e-global-color-ligne);
  box-shadow:0 34px 64px -44px #000}
.lpbf-map-sombre iframe{display:block;
  filter:invert(86%) hue-rotate(180deg) saturate(.92) brightness(1.24) contrast(.9)}




/* --- 29. Bandeau cookies Complianz a la charte ------------------ */
.cmplz-cookiebanner,#cmplz-document,.cmplz-manage-consent{
  font-family:var(--e-global-typography-text-font-family),sans-serif}
.cmplz-cookiebanner{background:var(--e-global-color-fondcarte)!important;
  border:1px solid var(--e-global-color-ligne)!important;border-radius:18px!important;
  box-shadow:0 34px 64px -40px #000!important;color:var(--e-global-color-text)!important}
.cmplz-cookiebanner .cmplz-title,.cmplz-cookiebanner .cmplz-category-title{color:var(--e-global-color-text)!important;font-weight:800!important}
.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-description,.cmplz-cookiebanner .cmplz-description-category,
.cmplz-cookiebanner .cmplz-description-service,.cmplz-cookiebanner p{color:var(--e-global-color-grisclair)!important;
  font-size:13px!important;line-height:1.6!important}
.cmplz-cookiebanner .cmplz-divider{border-color:var(--e-global-color-ligne)!important;background:var(--e-global-color-ligne)!important}

/* categories depliees : elles sortaient en clair sur clair */
.cmplz-cookiebanner .cmplz-categories .cmplz-category{background:var(--e-global-color-fondprofond)!important;
  border:1px solid var(--e-global-color-ligne)!important;border-radius:12px!important;
  color:var(--e-global-color-text)!important}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-always-active{color:var(--e-global-color-secondary)!important}
.cmplz-cookiebanner .cmplz-icon.cmplz-open{color:var(--e-global-color-textesecond)!important}

/* boutons : accepter et refuser au meme poids visuel (exigence CNIL) */
.cmplz-cookiebanner .cmplz-btn{border-radius:999px!important;font-weight:700!important;font-size:14px!important;
  min-height:46px!important;letter-spacing:.01em}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:var(--e-global-color-primary)!important;
  border:1px solid var(--e-global-color-primary)!important;color:var(--e-global-color-encre)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover{background:var(--e-global-color-bleusurvol)!important;
  border-color:var(--e-global-color-bleusurvol)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny{background:transparent!important;
  border:1px solid var(--e-global-color-grisclair)!important;color:var(--e-global-color-text)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover{border-color:var(--e-global-color-accent)!important;
  background:var(--e-global-color-fondsurvol)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options{background:transparent!important;
  border:1px solid var(--e-global-color-ligne)!important;color:var(--e-global-color-textesecond)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover{
  color:var(--e-global-color-text)!important;background:var(--e-global-color-fondsurvol)!important}

.cmplz-cookiebanner a,.cmplz-cookiebanner .cmplz-links a,.cmplz-cookiebanner .cmplz-link{color:var(--e-global-color-accent)!important;
  text-decoration:underline;text-underline-offset:3px}
.cmplz-cookiebanner .cmplz-close{color:var(--e-global-color-textesecond)!important}
.cmplz-cookiebanner .cmplz-close:hover{color:var(--e-global-color-text)!important}

/* petit onglet « gerer le consentement » qui reste apres le choix */
.cmplz-manage-consent{background:var(--e-global-color-fondcarte)!important;
  color:var(--e-global-color-text)!important;border:1px solid var(--e-global-color-ligne)!important;
  border-bottom:0!important;border-radius:10px 10px 0 0!important;font-size:12px!important}
.cmplz-manage-consent:hover{background:var(--e-global-color-fondsurvol)!important}

@media(max-width:767px){
 .cmplz-cookiebanner{border-radius:16px!important}
 .cmplz-cookiebanner .cmplz-btn{min-height:44px!important;font-size:13.5px!important}
}


/* 30 - espace reserve Complianz : carte bloquee avant consentement | lpbf-bloc-30 */
/* le decor ne vaut QUE tant que le contenu est bloque. Apres consentement Complianz
   retire .cmplz-blocked-content-container mais garde le conteneur : sans ce garde-fou
   le voile sombre et le filet rouge restaient par-dessus la carte vivante. */
.cmplz-placeholder-parent.cmplz-blocked-content-container{
  background-size:cover!important;background-position:center!important;
  background-repeat:no-repeat!important;position:relative;overflow:hidden;border-radius:20px;
  border:1px solid var(--e-global-color-ligne);display:flex;align-items:center;justify-content:center}
.cmplz-placeholder-parent.cmplz-blocked-content-container::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,10,24,.58),rgba(6,10,24,.86));
  background:linear-gradient(180deg,color-mix(in srgb,var(--e-global-color-fondprofond) 62%,transparent),color-mix(in srgb,var(--e-global-color-fondprofond) 90%,transparent))}
.cmplz-placeholder-parent.cmplz-blocked-content-container::after{content:"";position:absolute;left:28px;right:28px;top:0;height:2px;z-index:2;
  border-radius:0 0 3px 3px;background:var(--e-global-color-rouge);opacity:.9}
.cmplz-blocked-content-notice{position:absolute!important;z-index:3;
  left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  transform:translate(-50%,-50%)!important;margin:0!important;width:auto!important;white-space:normal!important;
  background:var(--e-global-color-primary)!important;color:var(--e-global-color-text)!important;
  border:0!important;border-radius:999px!important;font-weight:700!important;font-size:14px!important;
  line-height:1.35!important;padding:13px 24px!important;max-width:min(80%,320px)!important;text-align:center;
  box-shadow:0 20px 38px -20px #000;cursor:pointer;transition:background .18s ease}
.cmplz-blocked-content-notice:hover{background:var(--e-global-color-bleusurvol)!important}

/* une fois accepte : le conteneur s efface et rend toute la place a la carte */
.cmplz-placeholder-parent:not(.cmplz-blocked-content-container){
  display:block;height:100%;background:none!important;border:0;border-radius:0;overflow:visible}
.cmplz-placeholder-parent:not(.cmplz-blocked-content-container)::before,
.cmplz-placeholder-parent:not(.cmplz-blocked-content-container)::after{content:none;display:none}

/* la colonne carte de la page contact doit etre remplie de haut en bas */
.lpbf-carte-map .elementor-widget-google_maps,
.lpbf-carte-map .elementor-widget-container,
.lpbf-carte-map .elementor-custom-embed{height:100%}

@media(max-width:767px){
 .cmplz-placeholder-parent.cmplz-blocked-content-container{border-radius:16px}
 .cmplz-blocked-content-notice{font-size:13px!important;padding:12px 18px!important;max-width:90%}
}

/* 32 - articles : l en-tete du theme fait doublon avec le hero Elementor | lpbf-bloc-32 */
body.single-post .page-header,
body.single-post .entry-header{display:none!important}
body.single-post .site-main{padding:0!important;max-width:none!important}
body.single-post .entry-content{margin:0!important}

/* 33 - second vehicule : cadeaux a 2 pare-brise | lpbf-bloc-33 */
/* masque par defaut, ouvert par le script du widget b97eee5 (classe lpbf-v2-actif sur le form) */
.elementor-field-group-vehicule2,.elementor-field-group-vitrage2,.elementor-field-group-laterale2,
.elementor-field-group-immat2,.elementor-field-group-sansimmat2,.elementor-field-group-assurance2{display:none!important}
form.lpbf-v2-actif .elementor-field-group-vehicule2,form.lpbf-v2-actif .elementor-field-group-vitrage2,
form.lpbf-v2-actif .elementor-field-group-immat2,form.lpbf-v2-actif .elementor-field-group-sansimmat2,
form.lpbf-v2-actif .elementor-field-group-assurance2,
form.lpbf-v2-actif.lpbf-v2-lat .elementor-field-group-laterale2{display:flex!important}
.elementor-field-group-vehicule2{margin-top:6px;padding-top:18px;border-top:1px solid var(--e-global-color-ligne)}
.lpbf-v2-titre{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-weight:700;font-size:15px;line-height:1.3;
  color:var(--e-global-color-text)}
.lpbf-v2-titre::before{content:"2";display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;
  border-radius:50%;background:var(--e-global-color-rouge);color:var(--e-global-color-text);font-size:12px;font-weight:800}
.lpbf-v2-aide{margin:0;font-size:13px;line-height:1.55;color:var(--e-global-color-textesecond)}
form.lpbf-v2-actif .elementor-field-group-vehicule2{animation:lpbfV2 .32s ease both}
@keyframes lpbfV2{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){form.lpbf-v2-actif .elementor-field-group-vehicule2{animation:none}}/* End custom CSS */