.elementor-kit-4{--e-global-color-primary:#1296DE;--e-global-color-secondary:#082036;--e-global-color-text:#395974;--e-global-color-accent:#168DE2;--e-global-color-lyink2:#0F172A;--e-global-color-lyquote:#1761A6;--e-global-color-lynav:#0D375B;--e-global-color-lynavact:#1B73C5;--e-global-color-lytext2:#3F444D;--e-global-color-lytext3:#2D3748;--e-global-color-lytext4:#374958;--e-global-color-lymeta:#436989;--e-global-color-lymuted:#6D7177;--e-global-color-lywhite:#FFFFFF;--e-global-color-lyhero:#F2F9FD;--e-global-color-lysection:#F3F9FF;--e-global-color-lysoft:#F7F9FC;--e-global-color-lyblog:#F5F8FB;--e-global-color-lypagehero:#055F9F;--e-global-color-lytopbar:#0385E1;--e-global-color-lytopbarh:#1761A6;--e-global-color-lyfooter:#001E33;--e-global-color-lysky:#6ABCE9;--e-global-color-lystar:#FDA247;--e-global-color-lyborder:#DFE8FC;--e-global-color-lyborder2:#D7E3EF;--e-global-color-lydivider:#E8E8E8;--e-global-typography-primary-font-family:"DM Sans";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Outfit";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:24px;--e-global-typography-accent-font-family:"Outfit";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:21px;--e-global-typography-lyh1-font-family:"DM Sans";--e-global-typography-lyh1-font-size:44px;--e-global-typography-lyh1-font-weight:700;--e-global-typography-lyh1-line-height:55px;--e-global-typography-lyh1p-font-family:"DM Sans";--e-global-typography-lyh1p-font-size:44px;--e-global-typography-lyh1p-font-weight:700;--e-global-typography-lyh1p-line-height:57.2px;--e-global-typography-lyh2-font-family:"DM Sans";--e-global-typography-lyh2-font-size:42px;--e-global-typography-lyh2-font-weight:700;--e-global-typography-lyh2-line-height:52.5px;--e-global-typography-lydisplay-font-family:"DM Sans";--e-global-typography-lydisplay-font-size:47px;--e-global-typography-lydisplay-font-weight:700;--e-global-typography-lydisplay-line-height:58.8px;--e-global-typography-lyh3lg-font-family:"DM Sans";--e-global-typography-lyh3lg-font-size:32px;--e-global-typography-lyh3lg-font-weight:600;--e-global-typography-lyh3lg-line-height:41.6px;--e-global-typography-lyh3-font-family:"DM Sans";--e-global-typography-lyh3-font-size:22px;--e-global-typography-lyh3-font-weight:600;--e-global-typography-lyh3-line-height:28.6px;--e-global-typography-lyh3blog-font-family:"DM Sans";--e-global-typography-lyh3blog-font-size:22px;--e-global-typography-lyh3blog-font-weight:600;--e-global-typography-lyh3blog-line-height:30.8px;--e-global-typography-lyh4-font-family:"DM Sans";--e-global-typography-lyh4-font-size:20px;--e-global-typography-lyh4-font-weight:600;--e-global-typography-lyh4-line-height:27px;--e-global-typography-lyh5-font-family:"DM Sans";--e-global-typography-lyh5-font-size:18px;--e-global-typography-lyh5-font-weight:600;--e-global-typography-lyh5-line-height:23.4px;--e-global-typography-lyh6-font-family:"DM Sans";--e-global-typography-lyh6-font-size:16px;--e-global-typography-lyh6-font-weight:600;--e-global-typography-lyh6-line-height:20.8px;--e-global-typography-lyquote-font-family:"Outfit";--e-global-typography-lyquote-font-size:18px;--e-global-typography-lyquote-font-weight:500;--e-global-typography-lyquote-line-height:29.7px;--e-global-typography-lylead-font-family:"Outfit";--e-global-typography-lylead-font-size:16px;--e-global-typography-lylead-font-weight:400;--e-global-typography-lylead-line-height:25.6px;--e-global-typography-lybody-font-family:"Outfit";--e-global-typography-lybody-font-size:16px;--e-global-typography-lybody-font-weight:400;--e-global-typography-lybody-line-height:24px;--e-global-typography-lycard-font-family:"Outfit";--e-global-typography-lycard-font-size:15px;--e-global-typography-lycard-font-weight:400;--e-global-typography-lycard-line-height:22.5px;--e-global-typography-lycard2-font-family:"Outfit";--e-global-typography-lycard2-font-size:15px;--e-global-typography-lycard2-font-weight:400;--e-global-typography-lycard2-line-height:21.8px;--e-global-typography-lysmall-font-family:"Outfit";--e-global-typography-lysmall-font-size:14px;--e-global-typography-lysmall-font-weight:400;--e-global-typography-lysmall-line-height:21px;--e-global-typography-lyreview-font-family:"Outfit";--e-global-typography-lyreview-font-size:14px;--e-global-typography-lyreview-font-weight:400;--e-global-typography-lyreview-line-height:22px;--e-global-typography-lybtn-font-family:"Outfit";--e-global-typography-lybtn-font-size:14.4px;--e-global-typography-lybtn-font-weight:500;--e-global-typography-lybtn-line-height:14.4px;--e-global-typography-lybtn2-font-family:"Outfit";--e-global-typography-lybtn2-font-size:14px;--e-global-typography-lybtn2-font-weight:500;--e-global-typography-lybtn2-line-height:14px;--e-global-typography-lyeyebrow-font-family:"Outfit";--e-global-typography-lyeyebrow-font-size:12px;--e-global-typography-lyeyebrow-font-weight:500;--e-global-typography-lyeyebrow-text-transform:uppercase;--e-global-typography-lyeyebrow-line-height:18.6px;--e-global-typography-lynav-font-family:"Plus Jakarta Sans";--e-global-typography-lynav-font-size:15px;--e-global-typography-lynav-font-weight:500;--e-global-typography-lynav-line-height:18.9px;--e-global-typography-lymeta-font-family:"Outfit";--e-global-typography-lymeta-font-size:12px;--e-global-typography-lymeta-font-weight:400;--e-global-typography-lymeta-line-height:16px;--e-global-typography-lylabel-font-family:"DM Sans";--e-global-typography-lylabel-font-size:12px;--e-global-typography-lylabel-font-weight:500;--e-global-typography-lylabel-line-height:14.4px;color:#395974;font-family:"Outfit", Sans-serif;font-size:16px;font-weight:400;line-height:24px;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:#1296DE;}.elementor-kit-4 a:hover{color:#1761A6;}.elementor-kit-4 h1{color:#082036;font-family:"DM Sans", Sans-serif;font-weight:700;}.elementor-kit-4 h2{color:#082036;font-family:"DM Sans", Sans-serif;font-weight:700;}.elementor-kit-4 h3{color:#082036;font-family:"DM Sans", Sans-serif;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}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-4{--e-global-typography-lyh1-font-size:36px;--e-global-typography-lyh1-line-height:45px;--e-global-typography-lyh1p-font-size:36px;--e-global-typography-lyh1p-line-height:46px;--e-global-typography-lyh2-font-size:34px;--e-global-typography-lyh2-line-height:42px;--e-global-typography-lydisplay-font-size:36px;--e-global-typography-lydisplay-line-height:45px;--e-global-typography-lyh3lg-font-size:28px;--e-global-typography-lyh3lg-line-height:36px;--e-global-typography-lyh3-font-size:22px;--e-global-typography-lyh3-line-height:28.6px;--e-global-typography-lyh3blog-font-size:22px;--e-global-typography-lyh3blog-line-height:30.8px;--e-global-typography-lyh4-font-size:18px;--e-global-typography-lyh4-line-height:24px;--e-global-typography-lyquote-font-size:18px;--e-global-typography-lyquote-line-height:29.7px;--e-global-typography-lylead-font-size:16px;--e-global-typography-lylead-line-height:25.6px;--e-global-typography-lybody-font-size:16px;--e-global-typography-lybody-line-height:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}}@media(max-width:767px){.elementor-kit-4{--e-global-typography-lyh1-font-size:30px;--e-global-typography-lyh1-line-height:38px;--e-global-typography-lyh1p-font-size:30px;--e-global-typography-lyh1p-line-height:38px;--e-global-typography-lyh2-font-size:28px;--e-global-typography-lyh2-line-height:36px;--e-global-typography-lydisplay-font-size:28px;--e-global-typography-lydisplay-line-height:36px;--e-global-typography-lyh3lg-font-size:24px;--e-global-typography-lyh3lg-line-height:31px;--e-global-typography-lyh3-font-size:20px;--e-global-typography-lyh3-line-height:26px;--e-global-typography-lyh3blog-font-size:20px;--e-global-typography-lyh3blog-line-height:28px;--e-global-typography-lyh4-font-size:16px;--e-global-typography-lyh4-line-height:22px;--e-global-typography-lyquote-font-size:17px;--e-global-typography-lyquote-line-height:27px;--e-global-typography-lylead-font-size:15px;--e-global-typography-lylead-line-height:24px;--e-global-typography-lybody-font-size:15px;--e-global-typography-lybody-line-height:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}
/* Start custom CSS *//* ===== 00-base.css ===== */
/* LAYODIS — CSS résiduel du Kit (effets sans contrôle natif). Classes « ly-* » posées dans Elementor (Avancé › Classes CSS). */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor p { margin: 0 0 4px; }        /* paragraphSpacing Figma = 4 px */
.elementor-heading-title a { color: inherit; }

/* Pastille de section : largeur au contenu */
.ly-eyebrow { border-radius: 103px; background: rgba(51, 183, 255, .05); }
.ly-eyebrow--white { background: #fff; }
.ly-eyebrow--glass { background: rgba(255, 255, 255, .05); }
.ly-eyebrow--glass .elementor-heading-title { color: #fff !important; text-transform: none !important; }
.ly-eyebrow__mark img { width: 20px; height: 20px; }

/* Bouton principal : flèche dans un carré blanc */
.ly-btn .elementor-button { line-height: 1; transition: background .2s, transform .2s; }
.ly-btn--primary .elementor-button { min-height: 44px; display: inline-flex; align-items: center; box-shadow: 0 0 18px rgba(6, 100, 151, .1); }
.ly-btn--primary .elementor-button:hover { transform: translateY(-1px); }
.ly-btn--primary .elementor-button-icon { width: 34px; height: 34px; border-radius: 10px; background: #fff; display: grid; place-items: center; transition: transform .2s; }
.ly-btn--primary .elementor-button:hover .elementor-button-icon { transform: rotate(45deg); }
.ly-btn .elementor-button-icon svg, .ly-btn .elementor-button-icon img { width: 10px; height: 10px; }
.ly-btn--outline .elementor-button, .ly-btn--card .elementor-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 12px rgba(0, 0, 0, .04); border-width: .75px !important; }
.ly-btn--card .elementor-button-icon svg { width: 9px; height: 7px; }
.ly-btn .elementor-button-content-wrapper { align-items: center; }
.ly-btn--primary .elementor-button-text { padding-block: 10px; }
/* Un bouton dans une rangée ne se comprime pas */
.e-con > .elementor-widget.ly-btn, .e-con-inner > .elementor-widget.ly-btn { flex-shrink: 0; }
.ly-btn .elementor-button { white-space: nowrap; }
/* Boutons contour / carte : 44 px pile (Figma), bordure comprise — le libellé peut passer sur 2 lignes en mobile */
.elementor-widget.ly-btn--outline .elementor-button, .elementor-widget.ly-btn--card .elementor-button { min-height: 44px; padding-top: 0 !important; padding-bottom: 0 !important; box-sizing: border-box; }
.ly-btn--outline .elementor-button-icon svg, .ly-btn--outline .elementor-button-icon img { width: 14px; height: 14px; }   /* Figma btn3 : icône téléphone 14 px */
/* Pastille : l'image en ligne hérite d'un interligne 24 px → 36 px au lieu de 32 (Figma). Correctif global
   (rend inutiles les surcharges locales body.home / page-id-176 / page-id-177 / .ly-msec…). */
.ly-eyebrow .elementor-widget-image { line-height: 0; }
.ly-eyebrow .elementor-widget-image img { display: block; }
/* Focus clavier visible sur les boutons et liens */
.elementor-button:focus-visible, .e-n-menu-title-container:focus-visible, .e-n-menu-toggle:focus-visible, .e-n-menu-dropdown-icon:focus-visible { outline: 2px solid #1296DE; outline-offset: 2px; }


/* ===== 10-header.css ===== */
/* ---------- En-tête ---------- */
.ly-topbar .elementor-widget-text-editor p { margin: 0; white-space: nowrap; }
.ly-topbar a { color: #fff; }
.ly-topbar a:hover { text-decoration: underline; }
/* Cibles tactiles ≥ 44 px sans changer le rendu : zone cliquable élargie (lien téléphone, icônes sociales) */
.ly-topbar__txt a { display: inline-block; padding: 13px 0; margin: -13px 0; }
.ly-topbar__msg { margin-right: 1.5px; }   /* Figma : 5 px entre le message et le numéro */
.ly-topbar .elementor-social-icon { position: relative; overflow: visible; }
.ly-topbar .elementor-social-icon::after { content: ""; position: absolute; inset: -10px -8px; }
.ly-topbar .elementor-social-icon { background: transparent !important; }
/* La barre de navigation flotte au-dessus du hero (Figma : 32 px sous la barre haute) */
.ly-navslot { position: relative; z-index: 40; margin-bottom: -142px; padding-top: 32px; }
.ly-navslot .elementor-widget-template, .ly-navslot .elementor-template { width: 100%; }
.ly-nav { box-shadow: 0 4px 20px rgba(0, 0, 0, .05); max-width: 1376px; margin-inline: auto; transition: min-height .3s; }
.ly-navwrap.elementor-sticky--effects .ly-nav { min-height: 84px; }
.ly-nav__logo img { width: 100px; height: 80px; object-fit: contain; }
.ly-navwrap.elementor-sticky--effects .ly-nav__logo img { height: 64px; }
/* Item actif : le marquage automatique (.e-current) d'Elementor est neutralisé (il marque « Accueil » partout) ;
   l'item actif est donné par la page dans 12-nav-active.css */
.ly-menu .e-n-menu-title.e-current .e-n-menu-title-text { color: #0D375B; font-weight: 500; }
.ly-menu .e-n-menu-title.e-current:hover .e-n-menu-title-text { color: #1B73C5; }
/* Méga-menu « Nos missions » (Figma 1:1213) */
.ly-mega { box-shadow: 0 2px 20px rgba(0, 0, 0, .1); }
.ly-mega__link { border-radius: 12px; transition: background .2s; }
.ly-mega__link:hover { background: #F7F9FC; }
.ly-mega__name .elementor-heading-title { line-height: 18px !important; }
.ly-mega__ico-img img { width: 15px; height: 15px; }
.ly-menu .e-n-menu-content { background: transparent; }
/* Figma 1:1322 : nom rogné (cap) → ligne 39 px = nom 14 + 4 + description 21 */
.ly-mega__name .elementor-heading-title { line-height: 14px !important; }
/* Flèche du menu (Figma « Union » 9×5) : couleur héritée, pivote à l'ouverture */
.ly-menu .e-n-menu-dropdown-icon svg { width: 9px !important; height: 5px !important; transition: transform .2s; }
.ly-menu .e-n-menu-dropdown-icon svg path { fill: currentColor; }
.ly-menu .e-n-menu-dropdown-icon .e-n-menu-dropdown-icon-opened svg { transform: rotate(180deg); }
/* Voile sombre sur la page quand le méga-menu est ouvert (Figma 1:1286, rgba(0,0,0,.1)) */
body::after { content: ""; position: fixed; inset: 0; z-index: 35; background: rgba(0, 0, 0, .1); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s, visibility .2s; }
body:has(.ly-menu .e-n-menu-content > .e-active)::after, body:has(.ly-menu .e-n-menu-toggle[aria-expanded="true"])::after { opacity: 1; visibility: visible; }
/* Entrée « Prendre rendez-vous » : uniquement dans le menu burger */
@media (min-width: 1025px) {
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(6) { display: none; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(5) { margin-inline-end: 0 !important; }   /* l'espacement Elementor est une marge (sauf :last-child) */
}

/* ---------- Menu burger (≤ 1024 px) : panneau blanc sous la barre, liste verticale, défilement interne ---------- */
@media (max-width: 1024px) {
  .ly-navslot { margin-bottom: -116px; padding-top: 16px; }
  html:has(.ly-menu .e-n-menu-toggle[aria-expanded="true"]) { overflow: hidden; }
  .ly-nav { position: relative; }
  .ly-menu, .ly-menu .e-n-menu { position: static !important; }
  .ly-menu .e-n-menu { align-items: flex-end; }
  .ly-menu .e-n-menu-toggle { width: 44px; height: 44px; border-radius: 12px !important; background: #F2F9FD !important; align-items: center; justify-content: center; color: #0D375B; margin-left: auto !important; margin-right: 0 !important; align-self: flex-end !important; }
  .ly-menu .e-n-menu-toggle svg { width: 20px; height: 20px; fill: #0D375B; }
  .ly-menu .e-n-menu-wrapper {
    top: calc(100% + 8px) !important; left: 0 !important; right: 0 !important; width: auto !important; margin: 0 !important;
    max-height: calc(100vh - 190px) !important; max-height: calc(100dvh - 190px) !important; overflow-y: auto !important; overscroll-behavior: contain;
    padding: 8px 16px 16px !important; border-radius: 24px !important; background: #fff !important; box-shadow: 0 16px 40px rgba(8, 32, 54, .14);
  }
  .ly-menu .e-n-menu-heading { flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; gap: 0 !important; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item { border-bottom: 1px solid #EEF3F8; width: auto !important; min-width: 0; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-last-child(2) { border-bottom: 0; }
  .ly-menu .e-n-menu-title { background: transparent !important; justify-content: space-between !important; min-height: 52px; padding: 0 4px !important; width: auto !important; }
  .ly-menu .e-n-menu-title-container { flex: 1 1 auto; min-width: 0; min-height: 52px; align-items: center; justify-content: flex-start !important; }
  .ly-menu .e-n-menu-title-text { font-size: 16px !important; line-height: 22px !important; }
  .ly-menu .e-n-menu-dropdown-icon { width: 44px !important; height: 44px !important; flex: none; align-items: center !important; justify-content: center !important; margin: 0 -8px 0 0 !important; border-radius: 12px !important; background: #F2F9FD !important; }
  .ly-menu .e-n-menu-dropdown-icon svg { width: 11px !important; height: 6px !important; }
  /* Elementor étire chaque entrée à la largeur de l'écran (--stretch-width) : on la ramène à celle du panneau */
  .elementor-widget-n-menu.ly-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-heading > .e-n-menu-item,
  .elementor-widget-n-menu.ly-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title,
  .elementor-widget-n-menu.ly-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content { width: 100% !important; max-width: 100% !important; inset-inline-start: 0 !important; left: 0 !important; }
  /* panneau « Nos missions » déplié dans la liste */
  .ly-mega { width: 100% !important; box-shadow: none; padding: 0 0 12px !important; border-radius: 0 !important; background: transparent !important; gap: 8px !important; }
  .ly-mega__title { display: none; }
  .ly-mega__cols { flex-direction: column !important; gap: 4px !important; }
  .ly-mega__cols > .e-con { width: 100% !important; gap: 4px !important; }
  .ly-mega__link { padding: 8px !important; min-height: 52px; background: #F7F9FC; flex-direction: row !important; align-items: center !important; gap: 12px !important; }
  .ly-mega__link > .e-con { min-width: 0; }
  .ly-mega__ico { width: 32px !important; height: 32px !important; min-height: 32px !important; }
  .ly-mega__desc { display: none; }
  /* entrée CTA en bouton */
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(6) { margin-top: 12px; border: 0; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(6) .e-n-menu-title { justify-content: center !important; border-radius: 12px; background: #1296DE !important; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(6) .e-n-menu-title .e-n-menu-title-container { justify-content: center !important; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(6) .e-n-menu-title-text { color: #fff !important; font-weight: 600 !important; }
}
@media (max-width: 767px) {
  .ly-navslot { margin-bottom: -92px; padding-top: 12px; }
  .ly-menu .e-n-menu-wrapper { max-height: calc(100vh - 150px) !important; max-height: calc(100dvh - 150px) !important; }
  .ly-topbar__msg { display: none; }
}

/* ---------- Sélecteur de langue FR | EN (widget natif « Language switcher » de Connect Polylang for Elementor) ---------- */
.ly-lang .cpel-switcher__list { align-items: center; flex-wrap: nowrap; }
.ly-lang .cpel-switcher__lang { display: flex; align-items: center; }
.ly-lang .cpel-switcher__lang + .cpel-switcher__lang::before { content: ""; width: 1px; height: 12px; background: currentColor; opacity: .45; }
.ly-lang .cpel-switcher__lang a { letter-spacing: 0; }
.ly-lang .cpel-switcher__lang--active a { font-weight: 700; }
.ly-lang a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 4px; }
/* barre haute : séparé des icônes sociales par un filet, couleur blanche */
.ly-lang--top { padding-left: 16px; border-left: 1px solid rgba(255, 255, 255, .35); }
.ly-lang--top .cpel-switcher__lang + .cpel-switcher__lang::before { color: #fff; }
.ly-lang--top .cpel-switcher__lang a { position: relative; }
.ly-lang--top .cpel-switcher__lang a::after { content: ""; position: absolute; inset: -10px -2px; }   /* cible tactile ≥ 44 px */
/* menu burger : entrée « Langue » (7e) masquée en desktop ; en burger, son titre est masqué et le sélecteur toujours visible */
@media (min-width: 1025px) {
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(7) { display: none !important; }
}
@media (max-width: 1024px) {
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(5) { border-bottom: 0; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(7) { border: 0; margin-top: 8px; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(7) > .e-n-menu-title { display: none !important; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(7) > .e-n-menu-content { display: block !important; position: static !important; }
  .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(7) > .e-n-menu-content > .ly-lang-panel { display: flex !important; height: auto !important; width: 100% !important; background: transparent !important; }
  .ly-lang--burger .cpel-switcher__lang a { min-height: 44px; display: inline-flex; align-items: center; }
}


/* ===== 11-footer.css ===== */
/* ---------- Pied de page ---------- */
.ly-footer { overflow: hidden; }
.ly-footer a { color: inherit; }
.ly-footer__logo img { width: 138px; height: 110px; object-fit: contain; object-position: left; filter: brightness(0) invert(1); }
.ly-light { font-weight: 300; }
.ly-footer__links { border-top: 1px solid rgba(255, 255, 255, .3); }
.ly-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .3); }
.ly-footer__legal a { text-decoration: underline; text-underline-offset: 3px; }
.ly-footer__legal a:hover, .ly-footer__bottom a:hover { color: #6ABCE9; }
.ly-footer__social .elementor-social-icon { border: .7px solid #fff; background: transparent !important; transition: background .2s; }
.ly-footer__social .elementor-social-icon:hover { background: #1296DE !important; border-color: #1296DE; }
.ly-pill .elementor-button { min-height: 34px; height: 34px; padding-block: 0 !important; width: 100%; display: flex; align-items: center; }
.ly-pill .elementor-button-content-wrapper { justify-content: flex-start; width: 100%; }
.ly-pill .elementor-button-icon svg, .ly-pill .elementor-button-icon img { width: 13px; height: 13px; }
/* Newsletter : champ + bouton accolés (Figma 1:1153) */
.ly-newsletter .elementor-form-fields-wrapper { position: relative; }
.ly-newsletter .elementor-field-group-email { padding-right: 0 !important; }
.ly-newsletter .elementor-field-group-email input { height: 53px; padding: 0 96px 0 24px !important; }
.ly-newsletter .e-form__buttons, .ly-newsletter .elementor-field-type-submit { position: absolute; right: 0; top: 0; width: 80px !important; padding: 0 !important; }
.ly-newsletter .elementor-button { height: 53px; width: 80px; padding: 0; justify-content: center; }
.ly-newsletter .elementor-button-icon svg, .ly-newsletter .elementor-button-icon img { width: 16px; height: 16px; fill: #fff; }
.ly-newsletter .elementor-field-type-acceptance label, .ly-newsletter .elementor-field-subgroup { color: #fff; font-family: Outfit, sans-serif; font-weight: 300; font-size: 16px; }
.ly-newsletter .elementor-field-type-acceptance a { text-decoration: underline; }
.ly-newsletter .elementor-field-type-acceptance { order: 3; }
.ly-newsletter .elementor-field-option label, .ly-newsletter .elementor-field-option label a { color: #fff !important; }
.ly-newsletter input::placeholder { color: #000; opacity: 1; }
.ly-newsletter .elementor-field-option input[type=checkbox] { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; border: 1px solid #fff; border-radius: 2px; vertical-align: -3px; margin-right: 8px; cursor: pointer; }
.ly-newsletter .elementor-field-option input[type=checkbox]:checked { background: #1296DE; border-color: #1296DE; }
.ly-newsletter .elementor-field-type-acceptance, .ly-newsletter .elementor-field-subgroup, .ly-newsletter .elementor-field-option label { line-height: 16px !important; }
.ly-newsletter .elementor-field-group { margin-bottom: 0 !important; }
.ly-newsletter .elementor-form-fields-wrapper { row-gap: 18px; margin-bottom: 0 !important; }
.ly-newsletter .elementor-field-type-acceptance { height: 16px; display: flex; align-items: center; }
.ly-newsletter .elementor-field-type-acceptance .elementor-field-subgroup, .ly-newsletter .elementor-field-option { display: flex; align-items: center; margin: 0; }
/* Bouton WhatsApp flottant (Figma 1:1208) */
.ly-wa .elementor-button { width: 60px; height: 60px; padding: 0 !important; border-radius: 64px; display: grid; place-items: center; box-shadow: 0 2px 20px rgba(0, 0, 0, .1); transition: transform .2s; }
.ly-wa .elementor-button:hover { transform: scale(1.06); }
.ly-wa .elementor-button-content-wrapper { display: grid; place-items: center; }
.ly-wa .elementor-button-icon { margin: 0 !important; }
.ly-wa .elementor-button-icon svg, .ly-wa .elementor-button-icon img { width: 38px !important; height: 38px !important; }
.ly-wa .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 767px) {
  .ly-wa .elementor-button { width: 52px; height: 52px; }
  .ly-wa .elementor-button-icon svg, .ly-wa .elementor-button-icon img { width: 32px !important; height: 32px !important; }
}
body:has(.ly-menu .e-n-menu-toggle[aria-expanded="true"]) .ly-wa { display: none; }
/* Newsletter : case carrée 16 px contour blanc (Figma 1:1159) ; liens sans soulignement (Figma), soulignés au survol */
.ly-newsletter .elementor-field-group input[type=checkbox] { appearance: none !important; -webkit-appearance: none !important; width: 16px !important; height: 16px !important; flex: none; margin: 0 8px 0 0 !important; padding: 0 !important; border: 1px solid #fff !important; border-radius: 2px !important; background: transparent !important; cursor: pointer; display: inline-grid; place-items: center; }
.ly-newsletter .elementor-field-group input[type=checkbox]:checked { background: #1296DE url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"%3E%3Cpath d="M1 4l3 3 5-6" fill="none" stroke="%23fff" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E') no-repeat center / 10px 8px !important; border-color: #1296DE !important; }
.ly-newsletter .elementor-field-group input[type=checkbox]:focus-visible { outline: 2px solid #6ABCE9; outline-offset: 2px; }
.ly-newsletter .elementor-field-type-acceptance a { text-decoration: none; }
.ly-newsletter .elementor-field-type-acceptance a:hover { text-decoration: underline; }
/* États : focus visible, erreurs 12 px sans icône */
.ly-newsletter input[type=email] { border: 1px solid transparent !important; transition: border-color .15s, box-shadow .15s; }
.ly-newsletter input[type=email]:focus { outline: none; border-color: #1296DE !important; box-shadow: 0 0 0 3px rgba(18, 150, 222, .25) !important; }
.ly-newsletter .elementor-button:focus-visible { outline: 2px solid #6ABCE9; outline-offset: 2px; }
.ly-newsletter .elementor-error input[type=email] { border-color: #FF8A80 !important; }
.ly-newsletter .elementor-message { margin: 6px 0 0 !important; font: 400 12px/1.4 Outfit, sans-serif !important; color: #FFB4B4 !important; }
.ly-newsletter .elementor-message::before { display: none !important; }
.ly-newsletter form > .elementor-message-success { color: #fff !important; font-size: 14px !important; }


/* ===== 12-nav-active.css ===== */
/* Item de menu actif selon la page (le marquage automatique du méga-menu ne se déclenche pas) */
.home .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(1) .e-n-menu-title-text { color: #1B73C5 !important; font-weight: 700 !important; }
.home .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(1) .e-n-menu-title-text::before {
  content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #168DE2; vertical-align: middle; transform: translateY(-1px);
}
.page-id-176 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(3) .e-n-menu-title-text { color: #1B73C5 !important; font-weight: 700 !important; }
.page-id-176 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(3) .e-n-menu-title-text::before {
  content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #168DE2; vertical-align: middle; transform: translateY(-1px);
}
.page-id-159 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(4) .e-n-menu-title-text,
.single-post .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(4) .e-n-menu-title-text,
.category .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(4) .e-n-menu-title-text { color: #1B73C5 !important; font-weight: 700 !important; }
.page-id-159 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(4) .e-n-menu-title-text::before,
.single-post .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(4) .e-n-menu-title-text::before,
.category .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(4) .e-n-menu-title-text::before {
  content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #168DE2; vertical-align: middle; transform: translateY(-1px);
}
.page-id-177 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(5) .e-n-menu-title-text { color: #1B73C5 !important; font-weight: 700 !important; }
.page-id-177 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(5) .e-n-menu-title-text::before {
  content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #168DE2; vertical-align: middle; transform: translateY(-1px);
}
/* Images dans les pastilles : pas d'espace de ligne sous l'image */
.ly-eyebrow__mark img, .ly-mega__ico-img img { display: block; }


/* ===== 20-sections.css ===== */
/* ---------- Utilitaires ---------- */
.ly-center { align-self: center !important; }
.ly-paras p { margin: 0 0 4px; }
.ly-paras .ly-strong { font-weight: 500; }
.ly-stack > .e-con, .ly-stack > .elementor-widget { width: 100%; }

/* ---------- Photo + rectangle décoratif ---------- */
.ly-frame { position: relative; flex: none; }
.ly-frame::before { content: ""; position: absolute; border-radius: 36px; background: #6ABCE9; z-index: 0; }
.ly-frame > .elementor-widget-image { position: absolute; z-index: 1; }
.ly-frame img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 32px; }
.ly-frame--hero { width: 463px; height: 508px; }
.ly-frame--hero::before { left: 0; top: 0; width: 249px; height: 314px; }
.ly-frame--hero > .elementor-widget-image { left: 8px; top: 8px; right: 0; bottom: 0; }
.ly-frame--hero > .elementor-widget-image::after { content: ""; position: absolute; inset: 0; border-radius: 32px; background: linear-gradient(180deg, rgba(0, 65, 120, .05) 0%, rgba(0, 65, 120, .8) 100%); pointer-events: none; }
.ly-frame--vision { width: 448px; height: 565px; }
.ly-frame--vision::before { right: 0; top: 0; width: 314px; height: 249px; background: rgba(28, 140, 244, .8); }
.ly-frame--vision > .elementor-widget-image { left: 0; top: 8px; right: 8px; bottom: 0; }
.ly-frame--a { width: 535px; height: 438px; }
.ly-frame--a::before { left: 0; top: 0; width: 249px; height: 314px; }
.ly-frame--a > .elementor-widget-image { left: 8px; top: 8px; right: 0; bottom: 0; }
.ly-frame--b { width: 467px; height: 300px; }
.ly-frame--b::before { right: 0; top: 0; width: 352px; height: 194px; }
.ly-frame--b > .elementor-widget-image { left: 0; top: 8px; right: 8px; bottom: 0; }
.ly-frame--b img { border: 1px solid #D3E0EE; }
@media (max-width: 1280px) {   /* !important : la hauteur mini du conteneur (Elementor) l'emportait (460×438) */
  .ly-frame--a { width: 460px !important; height: 377px !important; min-height: 0 !important; }
  .ly-frame--b { width: 420px !important; height: 270px !important; min-height: 0 !important; }
}
@media (max-width: 1024px) { .ly-frame { align-self: center; } }
@media (max-width: 767px) {
  .ly-frame--hero, .ly-frame--vision, .ly-frame--a, .ly-frame--b { width: 100% !important; height: auto !important; }
  .ly-frame--hero { aspect-ratio: 463 / 508; max-width: 463px; }
  .ly-frame--vision { aspect-ratio: 448 / 565; max-width: 448px; }
  .ly-frame--a { aspect-ratio: 535 / 438; }
  .ly-frame--b { aspect-ratio: 467 / 300; }
  .ly-frame::before { width: 54% !important; height: 62% !important; }
}

/* ---------- Hero ---------- */
.ly-hero { overflow: hidden; }
.ly-hero::before, .ly-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.ly-hero::before { width: 448px; height: 448px; left: -89px; top: -29px; background: rgba(18, 150, 222, .06); filter: blur(93px); }
.ly-hero::after { width: 416px; height: 416px; right: -12px; top: 167px; background: rgba(18, 150, 222, .12); filter: blur(64px); }
.ly-hero > .e-con-inner { position: relative; z-index: 1; }
.ly-eyebrow--lg { padding: 6px 14px !important; }
.ly-eyebrow--lg .elementor-heading-title { font-weight: 600 !important; }
.ly-eyebrow--lg .ly-eyebrow__mark img { width: 23px; height: 23px; }
.ly-hero__visual { position: relative; }
.ly-hero__watermark { position: absolute !important; left: 32px; bottom: 24px; z-index: 2; width: 70px !important; opacity: .8; }
.ly-hero__watermark img { filter: brightness(0) invert(1); }
.ly-chip { position: absolute !important; z-index: 3; width: auto !important; height: 34px; padding: 0 14px !important; border-radius: 100px; background: #fff; box-shadow: 0 2px 17px rgba(0, 0, 0, .08); animation: ly-float 5s ease-in-out infinite; }
.ly-chip .elementor-widget-text-editor { color: #118FD4 !important; white-space: nowrap; }
.ly-chip img { width: 18px; height: 18px; }
.ly-chip--a { left: -46px; top: 78px; }
.ly-chip--b { right: -54px; top: 404px; animation-delay: -2.5s; }
@keyframes ly-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (max-width: 1024px) { .ly-hero__visual { align-self: center; } .ly-chip--a { left: -16px; } .ly-chip--b { right: -16px; } }
@media (max-width: 767px) {
  .ly-hero__visual { width: min(463px, calc(100% - 16px)) !important; min-height: 0 !important; }
  .ly-chip { height: 30px; padding: 0 12px !important; }
  .ly-chip .elementor-widget-text-editor { font-size: 13px !important; }
  .ly-chip--a { left: -8px; top: 12%; }
  .ly-chip--b { right: -8px; top: auto; bottom: 18%; }
}
@media (prefers-reduced-motion: reduce) { .ly-chip { animation: none; } }

/* ---------- Bandeau de confiance (défilement continu) ---------- */
.ly-trust__title .elementor-heading-title b { font-weight: 600; }
.ly-trust__sub { font-size: 14px; line-height: 21px; font-weight: 400; color: #395974; margin-left: 6px; }
.ly-logos { overflow: hidden; position: relative; border-block: 1px solid #F2F7FF; box-shadow: 0 0 16px rgba(0, 0, 0, .02); }
.ly-logos::before, .ly-logos::after { content: ""; position: absolute; top: 0; bottom: 0; width: 308px; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 36%, #fff 100%); }
.ly-logos::before { left: 0; transform: scaleX(-1); }
.ly-logos::after { right: 0; }
.ly-logos__track { padding-left: 85px !important; animation: ly-logos 40s linear infinite; flex-wrap: nowrap !important; }
.ly-logos__track > .elementor-widget-image { flex: none; }
.ly-logo img { object-fit: fill !important; }
@keyframes ly-logos { to { transform: translateX(calc(-50% - 20px)); } }
@media (max-width: 767px) {
  .ly-logos::before, .ly-logos::after { width: 80px; }
  .ly-logos__track { padding-left: 20px !important; gap: 32px !important; }
  .ly-logo img { height: 36px !important; width: auto !important; }
  .ly-trust__sub { display: block; margin: 4px 0 0; }
}
@media (prefers-reduced-motion: reduce) { .ly-logos__track { animation: none; } }

/* ---------- Cartes mission ---------- */
.ly-mcard { border: .5px solid #DFE8FC; transition: box-shadow .25s, transform .25s; }
.ly-mcard--soft { border-color: transparent; }
.ly-mcard:hover { box-shadow: 0 12px 32px rgba(6, 100, 151, .1); transform: translateY(-4px); }
.ly-mcard__head { border-bottom: 1px solid #E8E8E8; height: 69px; }
.ly-mcard__text { min-height: 69px; }
.ly-mcard__img { overflow: hidden; border-radius: 24px; }
.ly-mcard__img img { width: 100% !important; transition: transform .5s; }
.ly-mcard:hover .ly-mcard__img img { transform: scale(1.04); }
.ly-mcarousel .swiper { padding: 12px; margin: -12px; }
.ly-mcarousel .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 6px !important; opacity: 1; background: rgba(22, 141, 226, .35); transition: width .25s, background .25s; border-radius: 100px; }
.ly-mcarousel .swiper-pagination-bullet-active { width: 32px; background: #168DE2; }

/* ---------- Valeurs & besoins ---------- */
.ly-value { box-shadow: 0 2px 20px rgba(0, 0, 0, .02); }
.ly-value__ico img { filter: drop-shadow(0 0 7px rgba(145, 216, 255, .3)); }
.ly-value__title .elementor-heading-title { text-box: trim-both cap alphabetic; }
@media (max-width: 767px) { .ly-values > .ly-value:last-child { grid-column: 1 / -1; } }
.ly-needs { width: 100%; }
.ly-need { border: .5px solid #D7E3EF; transition: background .2s; }
.ly-need:hover { background: #F2F9FD !important; }
/* coins de la grille : un jeu de règles par plage de largeur (pas de conflit d'!important) */
.ly-needs > .ly-need { border-radius: 0; }
@media (min-width: 1025px) {
  .ly-needs > .ly-need:nth-child(1) { border-top-left-radius: 24px; }
  .ly-needs > .ly-need:nth-child(3) { border-top-right-radius: 24px; }
  .ly-needs > .ly-need:nth-child(4) { border-bottom-left-radius: 24px; }
  .ly-needs > .ly-need:nth-child(6) { border-bottom-right-radius: 24px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .ly-needs > .ly-need:nth-child(1) { border-top-left-radius: 24px; }
  .ly-needs > .ly-need:nth-child(2) { border-top-right-radius: 24px; }
  .ly-needs > .ly-need:nth-child(5) { border-bottom-left-radius: 24px; }
  .ly-needs > .ly-need:nth-child(6) { border-bottom-right-radius: 24px; }
}
@media (max-width: 767px) {
  .ly-needs > .ly-need { min-height: 0 !important; }
  .ly-needs > .ly-need:first-child { border-radius: 24px 24px 0 0; }
  .ly-needs > .ly-need:last-child { border-radius: 0 0 24px 24px; }
}

/* ---------- Vision : signature ---------- */
.ly-sig { border-left: 2px solid #1296DE; padding-left: 8px; }
.ly-sig p { margin: 0; }
.ly-sig p + p { margin-top: 3px; }
.ly-sig__name { color: #1761A6; font-weight: 600; }
.ly-sig__role { color: #25425A; }
.ly-sig__exp { color: #1296DE; }

/* ---------- Bloc contact + formulaire ---------- */
.ly-contact__list .elementor-icon-list-icon { width: 32px; height: 32px; border-radius: 50%; background: #FAFAFA; display: inline-grid !important; place-items: center; }
.ly-contact__list .elementor-icon-list-icon svg, .ly-contact__list .elementor-icon-list-icon img { width: 15px; height: 14px; }
.ly-contact__list .elementor-icon-list-item:last-child { flex-basis: 100%; }
.ly-contact__list a:hover { text-decoration: underline; }
.ly-contact__lead p { margin-bottom: 6px; }
.ly-formcard { background: rgba(255, 255, 255, .1); backdrop-filter: blur(25px); }
.ly-form label { color: #fff; }
.ly-form input.elementor-field:not([type=file]), .ly-form select.elementor-field, .ly-form textarea.elementor-field { height: 40px; min-height: 40px; padding: 12px 18px 12px 37px !important; background-color: rgba(255, 255, 255, .12) !important; color: #fff; background-repeat: no-repeat; background-position: 18px center; background-size: 13px 13px; }
.ly-form .elementor-field::placeholder { color: #fff; opacity: .95; }
.ly-form .elementor-field-group-besoin { min-height: 72px; }
.ly-form .elementor-field-group-besoin select { padding-left: 18px !important; color: #fff; }
.ly-form .elementor-field-group-besoin select option { color: #082036; }
.ly-form .elementor-select-wrapper::before { color: #fff; font-size: 12px; }
.ly-form .elementor-field-group-message textarea { height: 60px !important; min-height: 60px; padding: 12px 16px !important; }
.ly-form .elementor-field-group-upload .elementor-field, .ly-form .elementor-field-type-upload input {
  height: 60px; padding: 18px 16px !important; border: .75px dashed rgba(255, 255, 255, .5) !important; border-radius: 16px; background: rgba(255, 255, 255, .12) !important;
  color: #fff; font-size: 11px; width: 100%; text-align: center; }
.ly-form .elementor-button { background: #fff !important; color: #1296DE !important; min-height: 46px; }
.ly-form .elementor-button-icon svg, .ly-form .elementor-button-icon img { width: 10px; height: 10px; }
.ly-form .elementor-message { color: #fff; }
/* variante claire (page contact) */
.ly-form--light label { color: #082036; }
.ly-form--light input.elementor-field:not([type=file]), .ly-form--light select.elementor-field, .ly-form--light textarea.elementor-field { background-color: #F2F9FD !important; color: #082036; }
.ly-form--light .elementor-field::placeholder { color: #395974; }
.ly-form--light .elementor-field-group-besoin select { color: #082036; }
.ly-form--light .elementor-select-wrapper::before { color: #395974; }
.ly-form--light .elementor-field-type-upload input { background: #F2F9FD !important; border-color: #D7E3EF !important; color: #395974; }
.ly-form--light .elementor-button { background: #1296DE !important; color: #fff !important; }
.ly-form--light .elementor-message { color: #082036; }
@media (max-width: 767px) {
  .ly-form .elementor-field { font-size: 16px !important; height: 46px !important; }
  .ly-form .elementor-field-group-message textarea { height: 96px !important; }
  .ly-contact__list .elementor-icon-list-items { flex-direction: column; align-items: flex-start; }
}

/* ---------- Avis ---------- */
.ly-reviews { overflow: hidden; }
.ly-review { box-shadow: 0 1px 20px rgba(0, 0, 0, .03); }
.ly-review--placeholder { border: 1px dashed #D7E3EF; box-shadow: none; }
.ly-review--placeholder .ly-review__text { color: #436989; }
.ly-review__avatar .elementor-heading-title { width: 48px; height: 48px; border-radius: 50%; background: #168DE2; }
.ly-review__role p::first-letter { text-transform: none; }
.ly-stars { display: flex; gap: 5.6px; margin: 0; }
.ly-stars img { width: 16px; height: 16px; }
.ly-gbadge__logo { border: .3px solid #EBEBEB; }
.ly-gbadge .elementor-heading-title img { display: inline-block; width: 15px; height: 15px; vertical-align: -2px; margin-left: 4px; }
.ly-reviews__carousel .swiper { overflow: hidden; }   /* contenu dans le conteneur */
.ly-reviews__carousel { padding-bottom: 82px; position: relative; }
.ly-reviews__carousel::before { content: ""; position: absolute; left: 0; right: 212px; bottom: 25px; height: 1px; border-radius: 100px; background: #D1DEEB; }
.ly-reviews__carousel .elementor-swiper-button { top: auto !important; bottom: 0 !important; transform: none !important; width: 70px; height: 50px; border-radius: 12px; background: #fff; display: grid; place-items: center; }
.ly-reviews__carousel .elementor-swiper-button-prev { left: auto !important; right: 86px !important; }
.ly-reviews__carousel .elementor-swiper-button-next { right: 0 !important; }
.ly-reviews__carousel .elementor-swiper-button svg, .ly-reviews__carousel .elementor-swiper-button img { width: 16px; height: 12px; }
.ly-reviews__carousel .swiper-button-disabled { opacity: .45; }

/* ---------- FAQ (Figma 1:889 : fermé 74 px, ouvert 136 px, bouton chevron 34 px + 10 px, réponse rognée cap) ---------- */
.ly-faq .e-con { max-width: 100%; }   /* 1142 px fixes débordaient entre 1025 et 1182 px */
.ly-faq__acc .e-n-accordion-item { margin-bottom: 16px; }
.ly-faq__acc .e-n-accordion-item:last-child { margin-bottom: 0; }
.ly-faq__acc .e-n-accordion-item-title { padding: 19px 19px 19px 16px !important; border: 1px solid #DEE6F2 !important; border-left-width: 4px !important; border-radius: 4px 18px 18px 4px !important; background: #F7F9FC !important; color: #121A26; --n-accordion-icon-gap: 10px; gap: 10px !important; }
.ly-faq__acc .e-n-accordion-item[open] .e-n-accordion-item-title { border-color: #1296DE !important; border-bottom: 0 !important; border-radius: 4px 18px 0 0 !important; background: rgba(18, 150, 222, .06) !important; color: #1296DE; padding: 23px 23px 17px 20px !important; }
.ly-faq__acc .e-n-accordion-item[open] > .e-con { border: 1px solid #1296DE; border-left-width: 4px; border-top: 0; border-radius: 0 0 18px 4px; background: rgba(18, 150, 222, .06); padding: 0 23px 23px 64px !important; }
.ly-faq__acc .e-n-accordion-item-title-icon { width: 34px !important; height: 34px; flex: 0 0 34px; display: grid !important; place-items: center; color: inherit; }
.ly-faq__acc .e-n-accordion-item-title-icon span { display: grid; place-items: center; }
.ly-faq__acc .e-n-accordion-item-title-icon svg { width: 20px !important; height: 20px !important; }
.ly-faq__acc .e-n-accordion-item-title-icon svg { fill: none !important; }
.ly-faq__acc .e-n-accordion-item-title-icon svg path { stroke: currentColor; fill: none !important; }
.ly-faq__acc .e-n-accordion-item-title-icon .e-closed svg { transform: rotate(180deg); }
.ly-faq__answer p { text-box: trim-both cap alphabetic; }
@media (max-width: 767px) {
  .ly-faq__acc .e-n-accordion-item-title { padding: 12px 14px 12px 8px !important; }
  .ly-faq__acc .e-n-accordion-item[open] .e-n-accordion-item-title { padding: 14px 14px 10px 12px !important; }
  .ly-faq__acc .e-n-accordion-item[open] > .e-con { padding: 0 14px 18px 16px !important; }
  .ly-faq__acc .e-n-accordion-item-title-icon { width: 28px !important; flex-basis: 28px; height: 28px; }
}

/* ---------- Carte article (Loop Item) ---------- */
.ly-post { border: .5px solid #DBE5F0; overflow: hidden; transition: box-shadow .25s, transform .25s; }
.ly-post:hover { box-shadow: 0 12px 32px rgba(6, 100, 151, .1); transform: translateY(-4px); }
.ly-post__media { position: relative; border-radius: 32px 32px 0 0; overflow: hidden; }
.ly-post__img img { width: 100% !important; height: 250px; object-fit: cover; transition: transform .5s; }
.ly-post:hover .ly-post__img img { transform: scale(1.04); }
.ly-tag { position: absolute !important; top: 16px; left: 16px; width: auto !important; z-index: 1; }
.ly-tag .elementor-icon-list-items { display: flex; }
.ly-tag .elementor-icon-list-item { height: 26px; padding: 0 14px; border-radius: 100px; background: #fff; font-size: 12px; line-height: 19.2px; }
.ly-tag .elementor-icon-list-item a, .ly-tag .elementor-post-info__terms-list-item { color: #1296DE; }
.ly-meta .elementor-icon-list-icon svg, .ly-meta .elementor-icon-list-icon img { width: 12px; height: 12px; }
.ly-post__title .elementor-heading-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 61.6px; }
.ly-post__excerpt p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 63px; margin: 0; }
.ly-post__btn .elementor-button { border-width: .2px !important; border-color: #DBE6F0 !important; box-shadow: none; color: #1296DE !important; }
@media (max-width: 767px) { .ly-post__img img { height: 210px; } .ly-post__title .elementor-heading-title { min-height: 0; } }

/* ---------- CTA ---------- */
.ly-cta { position: relative; z-index: 0; }
.ly-cta__card { box-shadow: 0 2px 19px rgba(0, 0, 0, .06); }
.ly-footer { position: relative; z-index: 1; }

/* ---------- Bandeau de page (pages intérieures) ---------- */
.ly-pagehero { border-radius: 0 0 75px 75px; overflow: hidden; }
.ly-pagehero .ly-eyebrow { background: #fff; }
.ly-pagehero .ly-eyebrow .elementor-heading-title { color: #168DE2 !important; font-weight: 600 !important; }
.ly-breadcrumb p { margin: 0; }
.ly-breadcrumb a { color: inherit; }
.ly-breadcrumb a:hover { text-decoration: underline; }
.ly-breadcrumb strong { font-weight: 600; }
@media (max-width: 767px) { .ly-pagehero { border-radius: 0 0 32px 32px; } }

/* correctifs (passe 2) */
.ly-form .elementor-select-wrapper { background: none !important; padding: 0 !important; height: auto !important; }
.ly-form .elementor-select-wrapper .select-caret-down-wrapper { right: 18px; color: #fff; font-size: 10px; }
.ly-form--light .elementor-select-wrapper .select-caret-down-wrapper { color: #395974; }
.ly-form .elementor-field-label { color: #fff !important; }
.ly-form--light .elementor-field-label { color: #082036 !important; }
.ly-form input[type=file] { cursor: pointer; }
.ly-form input[type=file] { text-align: center; }
/* ⚠ Elementor remplace « .elementor-kit-4 » par le sélecteur du Kit dans son CSS → écrire ::file-73 elector-button (+ préfixe webkit) */
.ly-form input[type=file]::file-73 elector-button { border: 0; border-radius: 0; margin: 0 6px 0 0; padding: 0 0 0 22px; height: 24px; background: transparent url('data:image/svg+xml,%3Csvg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M6.1 8.9H7.5M7.5 8.9H8.9M7.5 8.9V10.3M7.5 8.9V7.5M0.5 3.96C0.5 3.35 0.5 3.04 0.55 2.78C0.76 1.65 1.65 0.76 2.78 0.55C3.04 0.5 3.35 0.5 3.96 0.5C4.24 0.5 4.37 0.5 4.5 0.51C5.06 0.56 5.59 0.78 6.03 1.14C6.13 1.23 6.22 1.32 6.41 1.51L6.8 1.9C7.37 2.47 7.66 2.76 8 2.95C8.19 3.05 8.39 3.13 8.59 3.19C8.97 3.3 9.37 3.3 10.18 3.3H10.44C12.28 3.3 13.21 3.3 13.8 3.84C13.86 3.89 13.91 3.94 13.96 4C14.5 4.59 14.5 5.52 14.5 7.36V8.9C14.5 11.54 14.5 12.86 13.68 13.68C12.86 14.5 11.54 14.5 8.9 14.5H6.1C3.46 14.5 2.14 14.5 1.32 13.68C0.5 12.86 0.5 11.54 0.5 8.9V3.96Z" stroke="%23FFFFFF" stroke-linecap="round"/%3E%3C/svg%3E') no-repeat left center / 14px 14px; color: #fff; font: 400 11px Outfit, sans-serif; cursor: pointer; }
.ly-form input[type=file]::-webkit-file-upload-button { border: 0; border-radius: 0; margin: 0 6px 0 0; padding: 0 0 0 22px; height: 24px; background: transparent url('data:image/svg+xml,%3Csvg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M6.1 8.9H7.5M7.5 8.9H8.9M7.5 8.9V10.3M7.5 8.9V7.5M0.5 3.96C0.5 3.35 0.5 3.04 0.55 2.78C0.76 1.65 1.65 0.76 2.78 0.55C3.04 0.5 3.35 0.5 3.96 0.5C4.24 0.5 4.37 0.5 4.5 0.51C5.06 0.56 5.59 0.78 6.03 1.14C6.13 1.23 6.22 1.32 6.41 1.51L6.8 1.9C7.37 2.47 7.66 2.76 8 2.95C8.19 3.05 8.39 3.13 8.59 3.19C8.97 3.3 9.37 3.3 10.18 3.3H10.44C12.28 3.3 13.21 3.3 13.8 3.84C13.86 3.89 13.91 3.94 13.96 4C14.5 4.59 14.5 5.52 14.5 7.36V8.9C14.5 11.54 14.5 12.86 13.68 13.68C12.86 14.5 11.54 14.5 8.9 14.5H6.1C3.46 14.5 2.14 14.5 1.32 13.68C0.5 12.86 0.5 11.54 0.5 8.9V3.96Z" stroke="%23FFFFFF" stroke-linecap="round"/%3E%3C/svg%3E') no-repeat left center / 14px 14px; color: #fff; font: 400 11px Outfit, sans-serif; cursor: pointer; }
.ly-form input[type=file]:hover { border-color: rgba(255, 255, 255, .9) !important; }
.ly-form--light input[type=file]::file-73 elector-button, .ly-form--light input[type=file]::-webkit-file-upload-button { color: #395974; filter: none; }
.ly-contact__intro { flex-shrink: 0 !important; }
.ly-contact__list .elementor-icon-list-items { flex-wrap: wrap; row-gap: 24px; }
.ly-contact__list .elementor-icon-list-icon { width: 32px !important; height: 32px; flex: none; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 50%; background: #FAFAFA; }
.ly-contact__list .elementor-icon-list-item { align-items: center !important; }
.ly-faq__acc .e-n-accordion-item-title-text { color: #121A26 !important; }
.ly-faq__acc .e-n-accordion-item[open] .e-n-accordion-item-title-text, .ly-faq__acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon { color: #1296DE !important; }
.ly-faq__acc .e-n-accordion-item-title-icon { color: #121A26 !important; }
.ly-faq__acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon { color: #1296DE !important; }
.ly-tag .elementor-icon-list-items { margin: 0 !important; }
.ly-tag .elementor-icon-list-item { display: inline-flex !important; align-items: center; height: 26px; padding: 0 14px !important; margin: 0 !important; border-radius: 100px; background: #fff !important; }
.ly-tag .elementor-post-info__terms-list-item, .ly-tag .elementor-icon-list-text { color: #1296DE !important; font: 400 12px/19.2px Outfit, sans-serif !important; padding: 0 !important; }
.ly-need__ico { align-self: flex-start; }
.ly-contact { margin-inline: auto !important; }
/* correctifs (passe 3) */
.ly-form select { height: 40px; padding: 0 18px !important; border: 0 !important; border-radius: 16px !important; background-color: rgba(255, 255, 255, .12) !important; color: #fff !important; font: 300 12px Outfit, sans-serif; }
.ly-form--light select { background-color: #F2F9FD !important; color: #082036 !important; }
.ly-contact__list .elementor-icon-list-icon svg { fill: none !important; width: 15px !important; height: 14px !important; }
.ly-reviews__carousel .e-n-carousel { clip-path: none; }
/* correctifs mobiles (passe 4) */
@media (max-width: 767px) {
  .ly-topbar > .e-con-inner { flex-direction: row !important; flex-wrap: nowrap !important; }
  .ly-topbar__follow { display: none; }
  .ly-topbar .elementor-social-icon { --icon-size: 20px; }
  .ly-eyebrow { width: auto !important; max-width: 100%; }
  .ly-eyebrow--lg .elementor-heading-title { font-size: 11px !important; line-height: 15px !important; }
  .ly-btn .elementor-button { white-space: normal; }
  .ly-hero .ly-btn--outline, .ly-cta .ly-btn { width: 100%; }
  .ly-hero .ly-btn .elementor-button, .ly-cta .ly-btn .elementor-button { width: 100%; justify-content: space-between; }
  .ly-hero .ly-btn--outline .elementor-button, .ly-cta .ly-btn--outline .elementor-button { justify-content: center; }
  .ly-gbadge { width: max-content !important; max-width: 100%; }
  .ly-reviews__carousel::before { right: 172px; }
  .ly-reviews__carousel .elementor-swiper-button { width: 56px; height: 44px; }
  .ly-reviews__carousel .elementor-swiper-button-prev { right: 72px !important; }
  .ly-mcard__head { height: auto; }
  .ly-newsletter .elementor-field-type-acceptance { padding-left: 0 !important; }
}
.ly-eyebrow { flex-wrap: nowrap !important; }
.ly-eyebrow__mark { flex: none; }
/* ajustements finaux (passe 5) : pastille → titre = 8 px dans les en-têtes centrés (Figma), dernier item FAQ sans marge */
.ly-faq > .e-con-inner > .e-con:first-child > .ly-eyebrow, .ly-faq > .e-con:first-child > .ly-eyebrow { margin-bottom: -8px; }
.ly-cta__card > .e-con:first-child > .ly-eyebrow { margin-bottom: -6px; }
/* ajustements finaux (passe 6) */
.ly-needs-head > .ly-eyebrow { margin-bottom: -8px; }
.elementor-widget.ly-mcarousel { padding-bottom: 27px !important; }
.ly-sig p { text-box: trim-both cap alphabetic; }
.ly-sig p + p { margin-top: 14px; }
.ly-needs-head ~ .elementor-widget.ly-btn { margin-top: -16px; }
/* ---------- Recette globale 04.10 (agent éléments globaux) ---------- */
/* Logos bancaires : recadrage Figma (imageTransform) — l'image source a des marges transparentes, sinon logo écrasé */
.ly-logo--bp, .ly-logo--aw { overflow: hidden; flex: none; height: 44px; }
.ly-logo--bp { width: 161px !important; }
.ly-logo--bp img { width: 171px !important; height: 89px !important; max-width: none !important; margin: -22.6px 0 0 -5px; object-fit: fill !important; }
.ly-logo--aw { width: 153px !important; }
.ly-logo--aw img { width: 161px !important; height: 52px !important; max-width: none !important; margin: -3.7px 0 0 -3.7px; object-fit: fill !important; }
@media (max-width: 767px) {
  .ly-logo--bp, .ly-logo--aw { height: 36px; }
  .ly-logo--bp { width: 132px !important; } .ly-logo--bp img { width: 140px !important; height: 73px !important; margin: -18.5px 0 0 -4px; }
  .ly-logo--aw { width: 125px !important; } .ly-logo--aw img { width: 132px !important; height: 42px !important; margin: -3px 0 0 -3px; }
}
/* Avis : texte sans espacement de paragraphe (Figma 304 px), avatar 48 px fixe, étoiles 103 px, badge Google non comprimé */
.ly-review__text p { margin-bottom: 0; }
.ly-review__avatar { flex: none; width: 48px !important; }
.ly-review .elementor-widget-text-editor:has(.ly-stars) { flex: none; }
.ly-stars img { flex: none; width: 16px !important; height: 16px !important; }
.ly-gbadge__logo { flex: none !important; }
.ly-review .e-con:has(> .ly-review__name) { min-width: 0; }
/* flèches du carrousel : icône centrée dans la pastille 70×50 */
.ly-reviews__carousel .elementor-swiper-button { display: flex !important; align-items: center; justify-content: center; }
/* Bloc contact : 10 px icône → texte, 32 px entre e-mail et téléphone (Figma 1:660) */
.ly-contact__list .elementor-icon-list-text { padding-left: 10px !important; }
.ly-contact__list .elementor-icon-list-items { column-gap: 32px; margin: 0 !important; }
.ly-contact__list .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.ly-contact__list .elementor-icon-list-item::after { display: none !important; }
/* Bouton d'envoi : 46 px, 32 px sous la pièce jointe (Figma 1:718) */
.ly-form .e-form__buttons { margin-top: 12px; }
.ly-form .elementor-button { height: 46px; }
/* États des formulaires partagés (même traitement que /contact/) */
.ly-form .elementor-field-textual, .ly-form select { border: 1px solid transparent !important; transition: border-color .15s, box-shadow .15s; }
body .ly-form .elementor-field-textual:focus, body .ly-form select:focus, body .ly-form input[type=file]:focus-visible { outline: none; border-color: #fff !important; box-shadow: 0 0 0 3px rgba(255, 255, 255, .25) !important; }
body .ly-form--light .elementor-field-textual:focus, body .ly-form--light select:focus { border-color: #1296DE !important; box-shadow: 0 0 0 3px rgba(18, 150, 222, .15) !important; }
body .ly-form .elementor-error .elementor-field-textual, body .ly-form .elementor-error select { border-color: #FF8A80 !important; }
.ly-form .elementor-message { margin: 6px 0 0 !important; font: 400 12px/1.4 Outfit, sans-serif !important; }
.ly-form .elementor-message::before { display: none !important; }
.ly-form .elementor-help-inline, .ly-form .elementor-message-danger { color: #FFD2CC !important; }
.ly-form--light .elementor-help-inline, .ly-form--light .elementor-message-danger { color: #D93025 !important; }
.ly-form form > .elementor-message { margin-top: 16px !important; padding: 12px 16px; border-radius: 12px; font-size: 14px !important; background: rgba(255, 255, 255, .14); color: #fff; }
/* Méta article : icônes filaires (Elementor remplit les svg via la couleur d'icône) */
.ly-meta .elementor-icon-list-icon svg { fill: none !important; }
/* Carte article : bouton calé en bas de carte */
.ly-post > .e-con:last-child { justify-content: space-between; }
/* Largeurs Figma fixes : jamais plus larges que l'écran entre 1025 et 1280 px */
.ly-cta__card, .ly-faq > .e-con-inner > .e-con, .ly-trust, .ly-logos { max-width: 100%; }
/* Bandeau de page : pastille Figma 35 px (logo 23 px, 6/14, écart 8) */
.ly-pagehero .ly-eyebrow { padding: 6px 14px !important; gap: 8px !important; --gap: 8px; }
.ly-pagehero .ly-eyebrow__mark { width: 23px !important; --container-widget-width: 23px; flex: none !important; }
.ly-pagehero .ly-eyebrow__mark img { width: 23px !important; height: 23px !important; object-fit: contain; }
/* Fil d'Ariane : zone tactile 44 px sans changer le rendu */
.ly-breadcrumb a { display: inline-block; padding: 12px 0; margin: -12px 0; }
/* FAQ : le titre occupe la largeur du bloc d'en-tête (721 px Figma) */
.ly-faq > .e-con-inner > .e-con:first-child > .elementor-widget-heading, .ly-faq > .e-con:first-child > .elementor-widget-heading { align-self: stretch; }

/* ---------- Icônes centrées dans leurs pastilles (bloc contact + page contact) ----------
   Elementor ajoute un retrait (padding-inline-end 10 px) et une marge de 5 px à droite de l'icône : on les annule. */
:is(.ly-contact__list, .ly-citems) .elementor-icon-list-icon { padding: 0 !important; justify-content: center !important; }
:is(.ly-contact__list, .ly-citems) .elementor-icon-list-icon :is(svg, img, i) { margin: 0 !important; }

/* ---------- Cartes entièrement cliquables ----------
   Lien « étiré » : le lien principal de la carte (bouton, ou lien de l'étape) couvre toute la carte via un pseudo-élément.
   HTML valide (pas de lien dans un lien) ; le titre et l'étiquette de catégorie restent des liens à part, au-dessus. */
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item, .ly-stage) { position: relative; cursor: pointer; }
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item) :is(.e-con, .elementor-element, .elementor-widget-container, .elementor-button-wrapper):has(.elementor-button-link),
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item) .elementor-button-link { position: static !important; }
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item) .elementor-button-link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ly-stage :is(.e-con, .elementor-element, .elementor-widget-container):has(.ly-stage__link a, a), .ly-stage .ly-stage__link a { position: static !important; }
.ly-stage .ly-stage__link a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item, .ly-stage) :is(.elementor-heading-title a, .ly-tag a) { position: relative; z-index: 2; }
/* retour visuel : titre en bleu et flèche du bouton qui avance au survol de la carte ; focus clavier sur toute la carte */
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item):hover .elementor-heading-title,
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item):hover .elementor-heading-title a { color: #1296DE !important; }
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item):hover .elementor-button-icon { transform: translateX(3px); }
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item) .elementor-button-icon { transition: transform .2s ease; }
:is(.ly-mcard, .ly-post, .ly-feat, .ly-side__item, .ly-stage):has(.elementor-button-link:focus-visible, .ly-stage__link a:focus-visible) { outline: 2px solid #1296DE; outline-offset: 4px; }


/* ===== 21-form-icons.css ===== */
/* Icônes dans les champs du formulaire (généré par build_form_icons) */
.ly-form .elementor-field-group-nom .elementor-field { background-image: url(/wp-content/uploads/2026/10/f-user.svg); }
.ly-form .elementor-field-group-entreprise .elementor-field { background-image: url(/wp-content/uploads/2026/10/f-building.svg); }
.ly-form .elementor-field-group-telephone .elementor-field { background-image: url(/wp-content/uploads/2026/10/f-phone.svg); }
.ly-form .elementor-field-group-email .elementor-field { background-image: url(/wp-content/uploads/2026/10/f-mail.svg); }
.ly-form--light .elementor-field-group .elementor-field { filter: none; }
.ly-form--light .elementor-field-group-nom .elementor-field, .ly-form--light .elementor-field-group-entreprise .elementor-field, .ly-form--light .elementor-field-group-telephone .elementor-field, .ly-form--light .elementor-field-group-email .elementor-field { background-blend-mode: difference; }


/* ===== 25-home.css ===== */
/* ---------- Accueil (page 154) — correctifs propres à la page, chargés après 20-sections ---------- */

/* Images des pastilles et icônes « Vos besoins » : en inline-block elles héritent d'une ligne de 24 px
   → +4 px par pastille (Figma : 32 px) et +5 px par icône (Figma : 20 px). */
body.home .ly-eyebrow .elementor-widget-image, body.home .ly-need__ico { line-height: 0; }
body.home .ly-eyebrow .elementor-widget-image img, body.home .ly-need__ico img { display: block; }

/* Figma arrondit chaque ligne au pixel (25.6 → 26, 29.7 → 30) : on reprend ces interlignes là où le texte pilote la hauteur */
body.home .ly-hero__lead p, body.home .ly-vision__paras p { line-height: 26px; }
body.home .ly-vision__quote p { line-height: 30px; }

/* Hero : boutons à 44 px (Figma), le contour ne doit pas étirer la rangée */
body.home .ly-hero__btns .ly-btn--outline .elementor-button { height: 44px; min-height: 44px; padding-block: 0; }

/* Hero : la pastille « Réactivité & disponibilité » déborde de 54 px à droite du visuel → rognée sous ~1400 px */
@media (min-width: 1281px) { body.home .ly-chip--b { right: max(-54px, calc(632px - 50vw)); } }
@media (min-width: 1025px) and (max-width: 1280px) { body.home .ly-chip--b { right: -8px; } }

/* Carrousel « Nos missions » : cartes 515 px + 32 px + points 8 px = 555 px (Figma 1:422) */
body.home .elementor-widget.ly-mcarousel { padding-bottom: 33px !important; }
/* Points : actif = pilule 32×8 #168DE2, inactifs rgba(22,141,226,.35) pleine opacité, 12 px entre points (dots_gap 6 = marge de chaque côté) */
body.home .ly-mcarousel .swiper-pagination-bullet { opacity: 1; border-radius: 100px; }
body.home .ly-mcarousel .swiper-pagination-bullet-active { width: 32px; background: var(--e-n-carousel-dots-hover-color, #168DE2); }

/* Tablette : la grille d'articles passe à 2 colonnes → on n'affiche que 2 articles (pas d'orphelin) */
@media (min-width: 768px) and (max-width: 1024px) { body.home .ly-news__grid .e-loop-item ~ .e-loop-item ~ .e-loop-item { display: none; } }

/* Cartes « Vos besoins » = liens (conteneur <a>) : pas de soulignement, focus visible */
body.home a.ly-need { text-decoration: none; color: inherit; }
body.home a.ly-need:focus-visible { outline: 2px solid #1296DE; outline-offset: -2px; }
/* Points du carrousel : zone de clic agrandie à 44 px de haut sans changer le dessin */
body.home .ly-mcarousel .swiper-pagination-bullet { position: relative; }
body.home .ly-mcarousel .swiper-pagination-bullet::before { content: ""; position: absolute; inset: -18px -6px; }


/* ===== 30-missions.css ===== */
/* ---------- Pages « Nos missions » (1:5241) et détail mission (1:6446) — agent A ---------- */

/* Menu : « Nos missions » actif sur la liste (page 160) et ses pages enfants */
.page-id-160 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(2) .e-n-menu-title-text,
.parent-pageid-160 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(2) .e-n-menu-title-text { color: #1B73C5 !important; font-weight: 700 !important; }
.page-id-160 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(2) .e-n-menu-title .e-n-menu-dropdown-icon svg,
.parent-pageid-160 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(2) .e-n-menu-title .e-n-menu-dropdown-icon svg { fill: #1B73C5 !important; }
.page-id-160 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(2) .e-n-menu-title-text::before,
.parent-pageid-160 .ly-menu .e-n-menu-heading > .e-n-menu-item:nth-child(2) .e-n-menu-title-text::before {
  content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #168DE2; vertical-align: middle; transform: translateY(-1px);
}

/* ---------- Liste ---------- */
.ly-mgrid > .ly-mcard { border: 0; }
.ly-mgrid .ly-btn--card .elementor-button { border: .3px solid #F3F3F3 !important; box-shadow: 0 0 14px rgba(0, 0, 0, .02); }
@media (min-width: 1025px) { .ly-mgrid > .ly-mcard:nth-child(7) { grid-column: 2; } }
.ly-mgrid > .ly-mcard:nth-child(7) .ly-mcard__text { min-height: 0; }
.ly-engage__title .elementor-heading-title, .ly-mvalue__label .elementor-heading-title, .ly-care__title .elementor-heading-title { text-box: trim-both cap alphabetic; }
.ly-engage__text { margin-top: -12px; }
@media (min-width: 1025px) {
  .ly-engage__grid > .ly-engage { grid-column: span 2; min-height: 171px; }
  .ly-engage__grid > .ly-engage--wide { grid-column: span 3; min-height: 149px; }
}
@media (min-width: 768px) and (max-width: 1024px) { .ly-engage__grid > .ly-engage:last-child { grid-column: 1 / -1; } }
/* Avis : Figma montre ici des cartes de 238 px (5 lignes) */
.page-id-160 .ly-review__text { max-height: 110px; overflow: hidden; }

/* ---------- Cadres photo propres aux missions ---------- */
.ly-frame--mhero::before { left: 0; top: 0; width: 314px; height: 249px; }
.ly-frame--mhero > .elementor-widget-image { left: 8px; top: 8px; right: 0; bottom: 0; }
.ly-frame--mhero img { border-radius: 28px; }
.ly-frame--mscope::before { right: 0; top: 0; width: 314px; height: 249px; }
.ly-frame--mscope > .elementor-widget-image { left: 0; top: 8px; right: 8px; bottom: 0; }
@media (max-width: 1280px) { .ly-frame--mhero, .ly-frame--mscope { width: 46% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 556 / 361; } }
@media (max-width: 1024px) { .ly-frame--mhero, .ly-frame--mscope { width: 100% !important; max-width: 556px; } }
@media (max-width: 767px) { .ly-frame--mhero, .ly-frame--mscope { aspect-ratio: 556 / 361; } }

/* ---------- Hero mission ---------- */
.ly-mhero { overflow: hidden; }
.ly-mcrumb a { color: inherit; }
.ly-mcrumb a:hover { text-decoration: underline; }
.ly-mcrumb strong { color: #168DE2; font-weight: 500; }
.ly-mhero__more .elementor-button { color: #168DE2 !important; border-color: rgba(22, 141, 226, .6) !important; }
@media (max-width: 767px) { .ly-mhero__title br { display: none; } }

/* Bandeau des valeurs */
.ly-mvalue { position: relative; }
.ly-mvalue + .ly-mvalue::before { content: ""; position: absolute; left: -26px; top: 6px; width: 1px; height: 50px; border-radius: 100px; background: #EBEBEB; }
.ly-mvalue__label .elementor-heading-title { white-space: nowrap; }
@media (max-width: 1024px) { .ly-mvalue + .ly-mvalue::before { display: none; } }
@media (max-width: 767px) { .ly-mvalue { width: calc(50% - 20px) !important; } .ly-mvalue__label .elementor-heading-title { white-space: normal; } }

/* Intro + interventions */
.ly-hl { color: #1296DE; }
.ly-intro__side { border-left: 1px solid #C5D2DE; }
.ly-intro__text p { max-width: 402px; }
.ly-intro__link a { display: inline-flex; align-items: center; gap: 18px; padding: 2px 0 6px; border-bottom: 1px solid #1296DE; color: #10233F; }
.ly-intro__link a::after { content: ""; width: 10px; height: 10px; background: url(/wp-content/uploads/2026/10/arrow-up-right.svg) center / contain no-repeat; }
.ly-intro__link a:hover { color: #1296DE; }
.ly-interv__item:first-child { border-top-left-radius: 16px; }
.ly-interv__item:last-child { border-bottom-left-radius: 16px; }
.ly-interv__name .elementor-heading-title { text-box: trim-both cap alphabetic; }
.ly-interv__media { position: relative; overflow: hidden; border-radius: 0 16px 16px 0; }
.ly-interv__media > .elementor-widget-image { position: absolute; inset: 0; }
.ly-interv__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
@media (max-width: 1024px) {
  .ly-interv__item:first-child { border-top-right-radius: 16px; }
  .ly-interv__item:last-child { border-bottom-left-radius: 0; }
  .ly-interv__media { border-radius: 0 0 16px 16px; }
}

/* Étapes du périmètre */
.ly-step { position: relative; }
.ly-step::after { content: ""; position: absolute; left: 36px; right: -14px; top: 13px; height: 1px; background: repeating-linear-gradient(90deg, rgba(15, 23, 42, .2) 0 10px, transparent 10px 16px); }
.ly-steps > .ly-step:last-child::after { right: 0; }
.ly-step__num { width: 26px !important; height: 26px; flex: none; border-radius: 50%; background: #1296DE; }
.ly-step__text p { max-width: 200px; }
@media (max-width: 1024px) { .ly-steps > .ly-step:nth-child(2n)::after { right: 0; } }
@media (max-width: 767px) { .ly-step::after { display: none; } }

/* Étapes de l'activité : cartes photo */
@media (min-width: 1025px) {
  .ly-stages { --e-con-grid-template-columns: 474fr 244fr 474fr !important; grid-template-columns: 474fr 244fr 474fr !important; grid-auto-rows: 320px; }
  .ly-stages > .ly-stage--1 { grid-column: 1 / 3; }
  .ly-stages > .ly-stage--4 { grid-column: 2 / 4; }
}
.ly-stage { overflow: hidden; }
.ly-stage::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 89%); }
.ly-stage--2::before { background: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .8) 90%); }
.ly-stage--3::before { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 78%); }
.ly-stage--4::before { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 79%); }
@media (max-width: 1024px) { .ly-br-d { display: none; } }
.ly-stage > * { position: relative; z-index: 1; }
.ly-stage__link a { display: inline-flex; align-items: center; gap: 13px; padding-bottom: 4px; border-bottom: 1px solid #fff; color: #fff; }
.ly-stage__link a::after { content: ""; width: 10px; height: 10px; background: url(/wp-content/uploads/2026/10/arrow-up-right.svg) center / contain no-repeat; filter: brightness(0) invert(1); transition: transform .2s; }
.ly-stage__link a:hover::after { transform: translate(2px, -2px); }
@media (max-width: 1024px) { .ly-stages { grid-auto-rows: minmax(300px, auto); } }

/* Notre accompagnement */
.ly-care__ico img { height: 26px; width: auto; filter: drop-shadow(0 0 7px rgba(145, 216, 255, .3)); }
.ly-care__visual { position: relative; overflow: hidden; }
.ly-care__visual > .ly-care__photo { position: absolute; inset: 0; }
.ly-care__photo img { width: 100% !important; height: 100% !important; object-fit: cover; }
.ly-care__visual::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(208deg, rgba(0, 65, 120, .05) 60%, rgba(0, 65, 120, .9) 90%); pointer-events: none; }
.ly-care__logo { position: absolute !important; z-index: 2; left: 32px; bottom: 32px; }
.ly-care__logo img { width: 88px; filter: brightness(0) invert(1); }

/* Hauteurs Figma : têtes de section fixes (133 px), fil d'Ariane rogné à la capitale */
@media (min-width: 1025px) { .ly-mhead { height: 133px; justify-content: center; } }
.page-id-160 .ly-pagehero .ly-breadcrumb { margin-block: -7.3px; }

/* Recette 1440 (04.10) — pastille : image en bloc (sinon interligne 24 px → pastille 36 px au lieu de 32 Figma).
   Limité aux sections missions ; idempotent si le correctif est aussi fait globalement. */
.ly-msec .ly-eyebrow__mark img, .ly-mhero .ly-eyebrow__mark img,
.ly-care .ly-care__ico img, .ly-mvalue .ly-value__ico img, .ly-engage .ly-value__ico img { display: block; }
/* Bouton « Découvrir la mission » des cartes : 44 px (Figma), bordure comprise */
.ly-mgrid .ly-btn--card .elementor-button { padding-top: 14px !important; padding-bottom: 14px !important; }
/* Intro : le lien déborde de 2 px le filet vertical (côté 259 px dans Figma) */
@media (min-width: 1025px) { .ly-intro__side > .ly-intro__link { margin-bottom: -2px !important; } }
/* Accompagnement : colonne de cartes 207 + 14 + 209 centrée dans une rangée fixe de 427 px */
@media (min-width: 1025px) { .ly-care__grid { margin-block: -1.5px; } }
/* Périmètre : paragraphSpacing 6 px dans Figma (texte 150 px) */
.ly-scope__text p:not(:last-child) { margin-bottom: 6px; }
/* Desktop serré (1025–1280) : les colonnes à largeur Figma rétrécissent (SHRINK dans missions.py) */
@media (min-width: 1025px) { .ly-interv__media { min-width: 260px; flex-basis: 0 !important; } }
@media (min-width: 1025px) and (max-width: 1280px) { .ly-intro__side { padding-left: 48px !important; } .ly-intro { gap: 40px !important; } }
/* Écrans tactiles : zone de clic ≥ 44 px pour les liens texte (aucun changement visuel) */
@media (max-width: 1024px) {
  .ly-mcrumb a, .ly-stage__link a, .ly-intro__link a, .ly-mgrid .ly-mcard__title a { position: relative; }
  .ly-mcrumb a::before, .ly-stage__link a::before, .ly-intro__link a::before, .ly-mgrid .ly-mcard__title a::before { content: ""; position: absolute; inset: -12px -4px; }
}
/* Tablette (2 colonnes) : 7e carte centrée plutôt qu'orpheline à gauche */
@media (min-width: 768px) and (max-width: 1024px) { .ly-mgrid > .ly-mcard:nth-child(7) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 12px) !important; } }


/* ===== 40-cabinet.css ===== */
/* ---------- Page « Le cabinet » (Figma 1:7026) ---------- */
.ly-eyebrow--blue { background: rgba(22, 141, 226, .05); }
.ly-eyebrow--blue .elementor-heading-title, .ly-cab-hero .ly-eyebrow .elementor-heading-title { color: #168DE2 !important; }
.ly-cab-hero .ly-eyebrow .elementor-heading-title { font-weight: 600 !important; }
.ly-mt8 { margin-top: 8px; }
.ly-cab-hero__lead { margin-top: 4px; }
.ly-cab-hero__lead p { color: #34414B; }
.ly-btn--accent .elementor-button { color: #168DE2 !important; border-color: rgba(22, 141, 226, .6) !important; }
/* cadre photo du hero : déco 314×249 en haut à gauche, photo 548×420 décalée de 8/7 px */
.ly-frame--cabhero::before { left: 0; top: 0; width: 314px; height: 249px; }
.ly-frame--cabhero > .elementor-widget-image { left: 8px; top: 7px; right: 0; bottom: 0; }
.ly-frame--cabhero img { border-radius: 20px; }
@media (max-width: 1280px) { .ly-frame--cabhero { width: 460px !important; height: 360px !important; --width: 460px; } }
@media (max-width: 1024px) { .ly-frame--cabhero { width: 100% !important; height: auto !important; aspect-ratio: 556 / 427; max-width: 556px; } }
@media (max-width: 767px) { .ly-frame--cabhero { aspect-ratio: 556 / 427; } }

/* Bandeau de logos sans titre */
.ly-logos-only .ly-trust__title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ly-logos-only .ly-trust { gap: 0 !important; --gap: 0px; --row-gap: 0px; }

/* Notre identité */
.ly-idcard__ico { background: #0794F8; }
.ly-idcard__ico--dark { background: #001E33; }
.ly-idcard__ico img { width: 20px; height: 22px; object-fit: contain; }
.ly-idcard__title .elementor-heading-title { text-box: trim-both cap alphabetic; }
.ly-idphoto { border-radius: 20px; overflow: hidden; position: relative; }
.ly-idphoto > .elementor-widget-image { position: absolute; inset: 0; }
.ly-idphoto img { width: 100% !important; height: 100% !important; object-fit: cover; }
@media (max-width: 1024px) {
  .ly-idgrid { display: grid !important; grid-template-columns: 1fr 1fr; }
  .ly-idgrid > .ly-idphoto { grid-column: 1 / -1; grid-row: 2; height: 380px; }
}
@media (max-width: 767px) { .ly-idgrid { grid-template-columns: 1fr; } .ly-idgrid > .ly-idphoto { height: 320px; } }

/* Le mot du directeur */
.ly-director__photo { overflow: hidden; position: relative; }
.ly-director__photo > .elementor-widget-image { position: absolute; inset: 0; }
.ly-director__img img { width: 100% !important; height: 100% !important; object-fit: cover; }
.ly-sig--lg p { font-size: 16px; line-height: 24px; }
.ly-sig--lg .ly-sig__exp { font-size: 15px; line-height: 22.5px; }
.ly-xpcard__title .elementor-heading-title { text-box: trim-both cap alphabetic; }
.ly-xpcard img { width: 18px; height: 18px; }

/* Engagements */
.ly-engcard { border: .5px solid #DEE7F7; }
.ly-engcard__title .elementor-heading-title { text-box: trim-both cap alphabetic; }

/* Équipe */
.ly-member { overflow: hidden; }
.ly-member__img img { width: 100% !important; height: 287px; object-fit: cover; }

/* Missions : cartes douces de 514 px */
.ly-cab-missions .ly-btn--card .elementor-button { border: .3px solid #F3F3F3 !important; box-shadow: 0 0 14px rgba(0, 0, 0, .02); }

/* Avis : texte limité à 5 lignes (Figma 1:7343) */
.ly-reviews-clamp .ly-review__text { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.ly-reviews-clamp .ly-review__text p { margin: 0; display: inline; }
.ly-xpcard { align-items: stretch; }
@media (max-width: 1024px) { .ly-director__photo { height: auto !important; aspect-ratio: 4 / 5; max-height: 560px; } }
/* Images de widgets en bloc (sinon l'interligne du conteneur ajoute 4 à 8 px) */
.ly-xpcard .elementor-widget-image img, .ly-idcard__ico img, .ly-engcard .elementor-widget-image img { display: block; }
body.page-id-176 .ly-eyebrow__mark img, body.page-id-176 .ly-eyebrow .elementor-widget-image { display: block; line-height: 0; }
/* Signature : rognage cap height (Figma) */
.ly-sig--lg p { text-box: trim-both cap alphabetic; }
.ly-sig--lg p + p { margin-top: 14px; }
/* Carrousel missions : points 32 px sous les cartes (Figma) */
.ly-cab-missions .elementor-widget-n-carousel { padding-bottom: 40px; }
.ly-cab-missions .swiper-pagination { top: auto !important; bottom: 0 !important; line-height: 0; }
.ly-cab-missions .swiper-pagination-bullet { margin: 0 6px !important; }
.ly-cab-missions .swiper-pagination-bullet-active { width: 32px !important; }

/* ---- Recette 04.10 : Figma arrondit les interlignes à l'entier (67.5→68, 25.6→26, 29.7→30) ---- */
@media (min-width: 1025px) {
  .ly-cab-hero__lead p { line-height: 26px; }
  .ly-director__card .ly-paras p { line-height: 26px; }
  .ly-director__card .elementor-widget-text-editor:not(.ly-paras):not(.ly-sig) p { line-height: 30px; }
}
/* Pastille du hero, variante large (Figma 1:7047) : logo 23 px, écart 8, marges 14 → 126×35 */
.ly-eyebrow--lg { gap: 8px !important; --gap: 8px; padding-left: 14px !important; padding-right: 14px !important; }
.ly-eyebrow--lg .ly-eyebrow__mark { width: 23px !important; --container-widget-width: 23px; flex: none !important; }
.ly-eyebrow--lg .ly-eyebrow__mark img { width: 23px !important; height: 23px !important; object-fit: contain; object-position: left center; }
/* Engagements : chapô sur 662 px (Figma 1:7183) */
.ly-engage .elementor-widget.ly-mt8 { width: 662px !important; max-width: 100% !important; align-self: center !important; }
/* Bouton secondaire du hero : 161×44 (trait intérieur de Figma) */
.ly-btn--accent .elementor-button { padding: 14px 17px !important; min-height: 44px; }
/* Cartes missions : trait de .3 px rendu à 1 px par Chrome → retiré (cartes 514, bouton 44) */
.ly-cab-missions .ly-mcard--soft { border-width: 0 !important; }
.ly-cab-missions .ly-btn--card .elementor-button { padding-top: 14px !important; padding-bottom: 14px !important; }
/* Carrousel missions : points à 32 px sous les cartes, bloc de 554 px (Figma 1:7273) */
.ly-cab-missions .elementor-widget.ly-mcarousel { padding-bottom: 34px !important; }
.ly-cab-missions .elementor-widget.ly-mcarousel .swiper-pagination { top: 100% !important; bottom: auto !important; }
.ly-cab-missions .ly-mcarousel .swiper-pagination-bullet { background: rgba(22, 141, 226, .35) !important; opacity: 1 !important; }
.ly-cab-missions .ly-mcarousel .swiper-pagination-bullet-active { background: #168DE2 !important; }
@media (min-width: 1025px) { .ly-teampanel h2 .elementor-heading-title, .ly-teampanel h2.elementor-heading-title { line-height: 53px !important; } }
/* Directeur entre 1025 et 1280 px : carte et photo se partagent la largeur (sinon +160 px de débordement à 1100) */
@media (min-width: 1025px) and (max-width: 1280px) {
  .ly-director__card { flex: 636 1 0 !important; width: auto !important; min-width: 0; }
  .ly-director__photo { flex: 572 1 0 !important; width: auto !important; min-width: 0; height: auto !important; min-height: 560px; align-self: stretch !important; }
}

/* ---- Responsive (recette 04.10) ---- */
/* Cartes missions : hauteur Figma uniquement en desktop ; image + bouton calés en bas (textes de longueurs inégales) */
@media (min-width: 1025px) { .ly-cab-missions .ly-mcard { min-height: 514px; } }
.ly-cab-missions .ly-mcard > .ly-mcard__img { margin-top: auto; }
/* Engagements, tablette : « Rigueur » occupe la rangée entière au lieu de rester orpheline */
@media (min-width: 768px) and (max-width: 1024px) { .ly-enggrid3 > .e-con:nth-child(3) { grid-column: 1 / -1; } }
/* Photo du directeur pleine largeur : cadrage sur le visage */
@media (max-width: 1024px) { .ly-director__img img { object-position: 50% 18% !important; } }
/* Hero mobile : deux boutons pleine largeur */
@media (max-width: 767px) {
  .ly-cab-hero .elementor-widget-button { width: 100% !important; }
  .ly-cab-hero .elementor-widget-button .elementor-button { width: 100%; justify-content: center; }
}
@media (min-width: 768px) and (max-width: 1024px) { .ly-director__photo { min-height: 0 !important; height: 520px !important; aspect-ratio: auto; max-height: none; } }
/* Équipe : 2 colonnes de 480 à 767 px (sinon 4 photos 560×287 rognées), cadrage sur le visage */
@media (min-width: 480px) and (max-width: 767px) { .ly-team { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.ly-member__img img { object-position: 50% 20%; }


/* ===== 41-contact.css ===== */
/* ---------- Page « Contact » (Figma 1:8926) ---------- */
body.page-id-177 .ly-eyebrow__mark img, body.page-id-177 .ly-eyebrow .elementor-widget-image { display: block; line-height: 0; }
.ly-ct-panel { position: relative; z-index: 2; }
.ly-ct-lead p { margin-bottom: 6px !important; }
.ly-ct-lead p:last-child { margin-bottom: 0 !important; }
.ly-ct-lead strong { font-weight: 600; color: inherit; }
/* Coordonnées : pastilles 44 px bleues bordées de blanc */
.ly-citems .elementor-icon-list-items { flex-wrap: wrap; row-gap: 24px; }
.ly-citems .elementor-icon-list-item { align-items: center !important; }
.ly-citems .elementor-icon-list-item:last-child { flex-basis: 100%; }
.ly-citems .elementor-icon-list-icon { flex: none; width: 44px !important; height: 44px; border-radius: 14px; background: #1296DE; border: 2px solid #fff; box-shadow: 0 0 0 2px #fff; /* contour Figma 4 px centré */ display: inline-flex !important; align-items: center; justify-content: center; }
.ly-citems .elementor-icon-list-text { padding-inline-start: 10px !important; }
.ly-citems .elementor-icon-list-icon svg, .ly-citems .elementor-icon-list-icon img { width: auto !important; height: 18px !important; max-width: 20px; }
/* Carte formulaire claire */
.ly-ct-formcard .ly-form--light input.elementor-field:not([type=file]), .ly-ct-formcard .ly-form--light textarea.elementor-field, .ly-ct-formcard .ly-form--light select { background-color: #F7FAFF !important; }
.ly-ct-formcard .ly-form--light input[type=file] { background: #F7FAFF !important; border: .75px solid #F2F2F2 !important; }
.ly-ct-formcard .ly-form--light .elementor-button:hover { background: #1761A6 !important; }
.ly-ct-formcard .ly-form--light .elementor-button-icon svg, .ly-ct-formcard .ly-form--light .elementor-button-icon img { filter: brightness(0) invert(1); }
/* Carte d'accès */
.ly-map { position: relative; overflow: hidden; }
.ly-map > .elementor-widget-image { position: absolute; inset: 0; }
.ly-map__img img, .ly-map__img a { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.ly-map__card { position: absolute !important; left: 851px; top: 231px; height: 287px; background: linear-gradient(180deg, rgba(0, 29, 44, .5) 0%, rgba(0, 29, 44, .18) 100%); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 3px 20px -8px rgba(0, 0, 0, .4); z-index: 1; }
.ly-map__address .elementor-heading-title { text-transform: capitalize; width: 300px; max-width: 100%; }
.ly-map__links .elementor-icon-list-item { min-height: 30px; }
.ly-map__links a:hover { text-decoration: underline; }
.ly-map__links .elementor-icon-list-icon svg, .ly-map__links .elementor-icon-list-icon img { width: 18px; height: 18px; object-fit: contain; }
/* Figma : icône 18 + 5 → texte à 23 px du bord ; 30 px entre liens et bouton */
.ly-map__links .elementor-icon-list-icon { width: 23px !important; padding: 0 5px 0 0 !important; box-sizing: border-box; justify-content: flex-start; }
.ly-map__links .elementor-icon-list-text { padding-inline-start: 5px !important; }
.ly-map__btn { margin-top: 3px; }
.ly-map__btn .elementor-button { width: 171px; height: 55px; min-height: 55px !important; justify-content: center; box-shadow: none !important; }
.ly-map__btn .elementor-button:hover { background: #1761A6 !important; transform: none !important; }
@media (max-width: 1280px) { .ly-map__card { left: auto; right: 32px; } }
/* Desktop serré : l'intro (552 px fixe) laisse plus de place au formulaire */
@media (max-width: 1280px) and (min-width: 1025px) { .ly-ct-intro { --width: 44%; width: 44% !important; } }
@media (max-width: 1024px) {
  .ly-map { overflow: visible; }
  .ly-map > .elementor-widget-image { position: relative; height: 380px; border-radius: 48px; overflow: hidden; }
  .ly-map__card { position: relative !important; left: auto; right: auto; top: auto; height: auto; margin: -80px auto 0; max-width: 420px; background: #055F9F; }
}
@media (max-width: 767px) {
  .ly-map > .elementor-widget-image { height: 300px; }
  .ly-map__card { padding: 24px !important; }
  .ly-citems .elementor-icon-list-item { flex-basis: 100%; overflow-wrap: anywhere; }
  .ly-ct-formtitle .elementor-heading-title { font-size: 26px !important; line-height: 34px !important; }
  .ly-ct-formcard input[type=file] { padding: 0 12px !important; font-size: 12px !important; text-align: left; }
}
/* Bouton d'envoi : 32 px sous la pièce jointe, 46 px de haut (Figma) */
.ly-ct-formcard .elementor-field-type-submit { margin-top: 11px; }
.ly-ct-formcard .elementor-button { min-height: 46px !important; height: 46px; }
/* Fil d'Ariane rogné (cap height) dans le bandeau */
.ly-contact-hero .ly-breadcrumb { margin-top: -8px; }
.ly-contact-hero .ly-eyebrow__mark img { width: 23px; height: 23px; object-fit: contain; }
/* « Votre besoin » : libellé + liste collés en haut du groupe de 72 px (Figma 1:9184) */
.ly-ct-formcard .elementor-field-group-besoin { align-content: flex-start; align-items: flex-start; }
/* Pièce jointe : zone de dépôt centrée, bouton natif transformé en lien avec trombone (Figma 1:9196).
   « .elementor-kit-4 » est réécrit par Elementor dans le CSS du Kit → pseudo-élément échappé (73 = s). */
.ly-ct-formcard input[type=file] { height: 60px; padding: 0 16px 0 calc(50% - 100px) !important; font: 400 11px/60px Outfit, sans-serif; color: #395974; border-radius: 16px; cursor: pointer; }
.ly-ct-formcard input[type=file]::file-73 elector-button { border: 0; border-radius: 0; margin: 0 6px 0 0; padding: 0 0 0 22px; height: 60px; background: transparent url('data:image/svg+xml,%3Csvg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath d="M6.1 8.9H7.5M7.5 8.9H8.9M7.5 8.9V10.3M7.5 8.9V7.5M0.5 3.96482C0.5 3.34705 0.5 3.03816 0.548545 2.78087C0.762248 1.64822 1.64822 0.762248 2.78087 0.548545C3.03816 0.5 3.34705 0.5 3.96482 0.5C4.23549 0.5 4.37083 0.5 4.5009 0.512166C5.06165 0.564603 5.59356 0.784928 6.02716 1.14436C6.12772 1.22773 6.22341 1.32343 6.41479 1.51482L6.8 1.9C7.37106 2.47105 7.65659 2.75657 7.99847 2.9468C8.18628 3.0513 8.38557 3.13382 8.59228 3.19275C8.96853 3.3 9.37229 3.3 10.1799 3.3H10.4415C12.2842 3.3 13.2054 3.3 13.8043 3.83862C13.8594 3.88817 13.9119 3.9406 13.9613 3.99568C14.5 4.59455 14.5 5.51588 14.5 7.35853V8.9C14.5 11.5398 14.5 12.8598 13.6799 13.6799C12.8598 14.5 11.5398 14.5 8.9 14.5H6.1C3.46013 14.5 2.1402 14.5 1.3201 13.6799C0.5 12.8598 0.5 11.5398 0.5 8.9V3.96482Z" stroke="%23395974" stroke-linecap="round"/%3E %3C/svg%3E') no-repeat left center / 14px 14px; color: #395974; font: 400 11px Outfit, sans-serif; cursor: pointer; }
.ly-ct-formcard input[type=file]::-webkit-file-upload-button { border: 0; border-radius: 0; margin: 0 6px 0 0; padding: 0 0 0 22px; height: 60px; background: transparent url('data:image/svg+xml,%3Csvg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath d="M6.1 8.9H7.5M7.5 8.9H8.9M7.5 8.9V10.3M7.5 8.9V7.5M0.5 3.96482C0.5 3.34705 0.5 3.03816 0.548545 2.78087C0.762248 1.64822 1.64822 0.762248 2.78087 0.548545C3.03816 0.5 3.34705 0.5 3.96482 0.5C4.23549 0.5 4.37083 0.5 4.5009 0.512166C5.06165 0.564603 5.59356 0.784928 6.02716 1.14436C6.12772 1.22773 6.22341 1.32343 6.41479 1.51482L6.8 1.9C7.37106 2.47105 7.65659 2.75657 7.99847 2.9468C8.18628 3.0513 8.38557 3.13382 8.59228 3.19275C8.96853 3.3 9.37229 3.3 10.1799 3.3H10.4415C12.2842 3.3 13.2054 3.3 13.8043 3.83862C13.8594 3.88817 13.9119 3.9406 13.9613 3.99568C14.5 4.59455 14.5 5.51588 14.5 7.35853V8.9C14.5 11.5398 14.5 12.8598 13.6799 13.6799C12.8598 14.5 11.5398 14.5 8.9 14.5H6.1C3.46013 14.5 2.1402 14.5 1.3201 13.6799C0.5 12.8598 0.5 11.5398 0.5 8.9V3.96482Z" stroke="%23395974" stroke-linecap="round"/%3E %3C/svg%3E') no-repeat left center / 14px 14px; color: #395974; font: 400 11px Outfit, sans-serif; cursor: pointer; }
.ly-ct-formcard input[type=file]:hover { border-color: #1296DE !important; }
.ly-ct-formcard select:has(option[value=""]:checked) { color: rgba(57, 89, 116, .85) !important; font-weight: 300; }
/* États du formulaire (focus / erreur / succès) — page contact */
.ly-ct-formcard .elementor-field-group { align-content: flex-start; }
.ly-ct-formcard .elementor-field-textual, .ly-ct-formcard select, .ly-ct-formcard input[type=file] { border: 1px solid transparent !important; transition: border-color .15s, box-shadow .15s; }
.ly-ct-formcard input[type=file] { border-color: #F2F2F2 !important; }
body .ly-ct-formcard .ly-form .elementor-field-textual:focus, body .ly-ct-formcard .ly-form select:focus, body .ly-ct-formcard .ly-form input[type=file]:focus-visible { outline: none; border-color: #1296DE !important; box-shadow: 0 0 0 3px rgba(18, 150, 222, .15) !important; }
.ly-ct-formcard .elementor-button:focus-visible { outline: 2px solid #1296DE; outline-offset: 2px; }
body .ly-ct-formcard .ly-form .elementor-error .elementor-field-textual, body .ly-ct-formcard .ly-form .elementor-error select { border-color: #D93025 !important; background-color: #FFF7F6 !important; }
.ly-ct-formcard .elementor-message { margin: 6px 0 0 !important; font: 400 12px/1.4 Outfit, sans-serif !important; }
.ly-ct-formcard .elementor-message::before { display: none !important; }
.ly-ct-formcard .elementor-help-inline, .ly-ct-formcard .elementor-message-danger { color: #D93025 !important; }
.ly-ct-formcard form > .elementor-message { margin-top: 16px; padding: 12px 16px; border-radius: 12px; font-size: 14px !important; }
.ly-ct-formcard form > .elementor-message-danger { background: #FFF1F0; }
.ly-ct-formcard form > .elementor-message-success { background: #EAF7EE; color: #1E7B3C !important; }


/* ===== 42-legal.css ===== */
/* ---------- Pages légales et 404 (pas de frame Figma : charte du site) ---------- */
.ly-legal__h2 { margin-top: 36px; }
.ly-legal__h2 .elementor-heading-title { text-box: none; }
.ly-legal__text p { margin: 0 0 16px !important; }
.ly-legal__text p:last-child { margin-bottom: 0 !important; }
.ly-legal__text ul { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ly-legal__text ul:last-child { margin-bottom: 0; }
.ly-legal__text li { position: relative; padding-left: 22px; }
.ly-legal__text li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: #1296DE; }
.ly-legal__text a { color: #1296DE; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.ly-legal__text a:hover { color: #1761A6; }
.ly-legal__text strong { color: #082036; font-weight: 600; }
.ly-legal__updated { font-size: 14px; line-height: 21px; color: #436989; }
.ly-todo { background: #FFF3CD; color: #7A5600; padding: 1px 6px; border-radius: 4px; font-size: .92em; }
.ly-err__links .ly-btn--outline .elementor-button { color: #0D375B !important; background: #F7F9FC !important; border-color: #DEE6F2 !important; }
.ly-err__links .ly-btn--outline .elementor-button:hover { background: #1296DE !important; color: #fff !important; }
@media (max-width: 767px) { .ly-legal__h2 { margin-top: 24px; } }


/* ===== 50-blog.css ===== */
/* ---------- Blog (Figma 1:7644) ---------- */
.ly-blog__rule { margin-top: -5px; } /* Figma : rectangle 4 px (trait sur la 4e ligne) → titre +27, filtres +33 */
.ly-blog__rule .elementor-divider { padding: 0; }
/* fil d'Ariane du bandeau : rognage cap height (Figma leadingTrim) */
.page-id-159 .ly-pagehero .ly-breadcrumb p, .category .ly-pagehero .ly-breadcrumb { text-box: trim-both cap alphabetic; }
/* pastille de section : 32 px dans Figma (6 + 20 + 6) */
.ly-blog__head > .ly-eyebrow, .ly-news__head > .ly-eyebrow { height: 32px; box-sizing: border-box; }
/* Filtres par thème : widget natif Taxonomy Filter (Pro), « Tous » en premier */
.ly-filters .e-filter { display: flex; flex-wrap: wrap; gap: 16px; }
.ly-filters .e-filter-item {
  display: inline-flex; align-items: center; gap: 10px; height: 40px; box-sizing: border-box !important; padding: 0 23.5px !important; border-radius: 100px !important;
  border: .5px solid rgba(53, 69, 100, .2) !important; background: #fff !important; color: #3F444D !important;
  font: 400 16px/1 Outfit, sans-serif !important; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.ly-filters .e-filter-item[data-filter="__all"] { order: -1; }
.ly-filters .e-filter-item::before { content: ""; width: 14px; height: 14px; background: center / contain no-repeat; flex: none; }
.ly-filters .e-filter-item[data-filter="__all"]::before { display: none; }
.ly-filters .e-filter-item:hover { border-color: #1296DE !important; color: #1296DE !important; }
.ly-filters .e-filter-item[aria-pressed="true"] { background: #1296DE !important; border-color: #1296DE !important; color: #fff !important; font-weight: 500 !important; }
.ly-filters .e-filter-item[aria-pressed="true"]::before { filter: brightness(0) invert(1); }
.ly-filters .e-filter-item[data-filter="fiscalite"]::before { background-image: url(/wp-content/uploads/2026/10/cat-fiscalite.svg); }
.ly-filters .e-filter-item[data-filter="comptabilite"]::before { background-image: url(/wp-content/uploads/2026/10/cat-comptabilite.svg); }
.ly-filters .e-filter-item[data-filter="social"]::before { background-image: url(/wp-content/uploads/2026/10/cat-social.svg); }
.ly-filters .e-filter-item[data-filter="juridique"]::before { background-image: url(/wp-content/uploads/2026/10/cat-juridique.svg); }
.ly-filters .e-filter-item[data-filter="audit"]::before { background-image: url(/wp-content/uploads/2026/10/cat-audit.svg); }
.ly-filters .e-filter-item[data-filter="reglementation"]::before { background-image: url(/wp-content/uploads/2026/10/cat-reglementation.svg); }
/* largeur d'icône par thème = vecteurs Figma (largeurs des pastilles 131/163/155/139/178/183) */
.ly-filters .e-filter-item[data-filter="comptabilite"]::before { width: 12px; }
.ly-filters .e-filter-item[data-filter="social"]::before { width: 16px; }
.ly-filters .e-filter-item[data-filter="audit"]::before { width: 13px; }
.ly-filters .e-filter-item[data-filter="reglementation"]::before { width: 11px; }

/* Article à la une */
.ly-feat { border: .5px solid #DBE5F0; overflow: hidden; transition: box-shadow .25s; }
.ly-feat:hover { box-shadow: 0 12px 32px rgba(6, 100, 151, .1); }
.ly-feat__media { position: relative; border-radius: 0 32px 32px 0; overflow: hidden; }
.ly-feat__img, .ly-feat__img .elementor-widget-container { height: 100%; }
.ly-feat__img img { width: 100% !important; height: 398px !important; object-fit: cover; transition: transform .5s; }
.ly-feat:hover .ly-feat__img img { transform: scale(1.03); }
.ly-feat__excerpt { margin-top: 6px; }
.ly-feat__excerpt, .ly-feat__excerpt p { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.ly-feat__excerpt p { margin: 0; }
.ly-feat .ly-post__btn .elementor-button { height: 44px; box-sizing: border-box; padding-block: 0 !important; display: flex; align-items: center; justify-content: center; }
/* icônes méta au trait (calendrier) : Elementor remplit le svg avec la couleur d'icône */
.ly-feat .ly-meta svg, .ly-side__item .ly-meta svg, .ly-art__head .ly-meta svg { fill: none !important; }
.ly-post__btn .elementor-button, .ly-feat .ly-post__btn .elementor-button { background: rgba(255, 255, 255, .8) !important; border: .5px solid rgba(18, 150, 222, .3) !important; }
@media (max-width: 1024px) {
  .ly-feat__media { border-radius: 32px 32px 0 0; }
  .ly-feat__img img { height: 300px !important; }
}
@media (max-width: 767px) {
  .ly-filters .e-filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 10px; margin-inline: -20px; padding-inline: 20px; }
  .ly-filters .e-filter::-webkit-scrollbar { display: none; }
  .ly-filters .e-filter-item { flex: none; height: 36px; padding: 0 16px !important; font-size: 14px !important; }
  .ly-feat__img img { height: 220px !important; }
}

/* ---------- Article (Figma 1:8400) ---------- */
.ly-crumb p { margin: 0; }
.ly-crumb a { color: inherit; }
.ly-crumb a:hover { text-decoration: underline; }
.ly-crumb__cat .elementor-icon-list-items { margin: 0 !important; }
.ly-crumb__cat a { color: #168DE2 !important; }
.ly-art { min-width: 0; }
.ly-art__img img { width: 100% !important; object-fit: cover; }
.ly-art__lead p { margin: 0; }
.ly-share__wrap { height: 40px; padding: 0 14px !important; border-radius: 100px; background: #fff; border: .75px solid rgba(22, 141, 226, .1); }
.ly-share .elementor-share-btn { width: 30px !important; height: 30px !important; }
.ly-share .elementor-share-btn__icon svg { fill: #168DE2 !important; }
.ly-share .elementor-grid { display: flex !important; gap: 4px; }
/* corps de l'article */
.ly-prose { color: #374958; font: 400 16px/25.6px Outfit, sans-serif; }
.ly-prose > .elementor-widget-container > * + *, .ly-prose > * + * { margin-top: 14px; }
.ly-prose h2 { margin: 48px 0 24px; font: 700 44px/55px "DM Sans", sans-serif; color: #082036; }
.ly-prose h3 { margin: 32px 0 12px; font: 600 24px/33.6px "DM Sans", sans-serif; color: #082036; }
.ly-prose h2:first-child { margin-top: 0; }
.ly-prose p { margin: 0 0 14px; line-height: 25.6px; }
.ly-prose li { line-height: 25.6px; }
.ly-prose > p:empty { display: none; }
.ly-prose > :last-child { margin-bottom: 0; }
.ly-prose ul { display: flex; flex-direction: column; gap: 8px; padding-left: 4px; margin: 0 0 14px; list-style: none; }
.ly-prose li { position: relative; padding-left: 22px; }
.ly-prose li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: #1296DE; }
.ly-prose strong { font-weight: 600; color: #082036; }
.ly-prose a { color: #1296DE; text-decoration: underline; text-underline-offset: 3px; }
.ly-prose a:hover { color: #1761A6; }
@media (max-width: 767px) { .ly-prose h2 { font-size: 28px; line-height: 36px; margin-top: 36px; } .ly-prose h3 { font-size: 20px; line-height: 28px; } }
/* barre latérale */
.ly-side__mail { width: 100%; }
.ly-side__mail .elementor-button { width: 100%; min-height: 40px; border-radius: 100px !important; padding: 5px 5px 5px 18px !important; color: #1862A6 !important; font-size: 16px !important; font-weight: 400 !important; line-height: 19.2px !important; justify-content: center; }
.ly-side__mail .elementor-button-icon { width: 30px; height: 30px; border-radius: 50%; background: #1862A6; display: grid; place-items: center; }
.ly-side__mail .elementor-button-icon svg, .ly-side__mail .elementor-button-icon img { width: 15px; height: 12px; }
.ly-side__tel, .ly-side__more { display: flex; line-height: 0; }
.ly-side__tel .elementor-button { background: transparent !important; color: #fff !important; padding: 0 !important; font-weight: 500; line-height: 16.8px !important; }
.ly-side__tel .elementor-button:hover { text-decoration: underline; }
.ly-side__tel .elementor-button-icon svg { width: 12px; height: 12px; }
.ly-side__box { box-shadow: 0 0 18px rgba(0, 0, 0, .02); }
.ly-side__list .e-loop-item + .e-loop-item { position: relative; }
.ly-side__list .e-loop-item + .e-loop-item::before { content: ""; position: absolute; left: 0; right: 0; top: -16.5px; height: 1px; background: #E3E3E3; }
.ly-side__title .elementor-heading-title { min-height: 54px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ly-side__title a:hover { color: #168DE2; }
.ly-side__more { margin-top: 2px; }
.ly-side__more .elementor-button { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important;
  color: #168DE2 !important; font-size: 14px !important; font-weight: 400 !important; line-height: 16.8px !important; text-decoration: underline; text-underline-offset: 3px; }
.ly-side__more .elementor-button-icon svg, .ly-side__more .elementor-button-icon img { width: 8px; height: 8px; }
@media (max-width: 1024px) { .ly-side { position: static !important; } }
/* ordre des filtres = maquette */
.ly-filters .e-filter { justify-content: flex-start !important; }
.ly-filters .e-filter-item[data-filter="fiscalite"] { order: 1; }
.ly-filters .e-filter-item[data-filter="comptabilite"] { order: 2; }
.ly-filters .e-filter-item[data-filter="social"] { order: 3; }
.ly-filters .e-filter-item[data-filter="juridique"] { order: 4; }
.ly-filters .e-filter-item[data-filter="audit"] { order: 5; }
.ly-filters .e-filter-item[data-filter="reglementation"] { order: 6; }
.ly-share__wrap { flex-wrap: nowrap !important; }
.ly-share__wrap .elementor-widget-share-buttons { width: auto !important; }
.ly-share .elementor-share-btn__icon svg { width: 14px !important; height: 14px !important; }

/* ---------- Responsive blog / article ---------- */
/* filtres : retour à la ligne tant qu'il y a la place (le défilement horizontal masquait « Réglementation » dès 1100 px) */
@media (min-width: 768px) { .ly-filters .e-filter { flex-wrap: wrap !important; overflow: visible !important; } }
@media (max-width: 1024px) { .ly-filters .e-filter-item { height: 44px; } .ly-side__mail .elementor-button { min-height: 44px; padding-block: 7px !important; } }
/* cibles tactiles : zone cliquable agrandie sans changer la mise en page */
@media (max-width: 1024px) {
  .ly-crumb a, .page-id-159 .ly-breadcrumb a, .category .ly-breadcrumb a { padding-block: 12px; }
  .ly-side__more .elementor-button, .ly-side__tel .elementor-button { padding-block: 14px !important; margin-block: -14px; }
  .ly-side__title a { display: inline-block; padding-block: 5px; margin-block: -5px; }
}
/* tablette large (901-1024) : article + barre latérale côte à côte, lignes de texte lisibles */
@media (min-width: 901px) and (max-width: 1024px) {
  .ly-artlayout > .e-con-inner, .ly-artlayout { flex-direction: row !important; align-items: flex-start !important; }
  .ly-artlayout .ly-side { width: 280px !important; flex: none; }
  .ly-artlayout { --gap: 32px; }
  .ly-artlayout > .e-con-inner { gap: 32px !important; }
}
@media (max-width: 1024px) { .ly-side__title .elementor-heading-title { min-height: 0; } }
@media (max-width: 1024px) { .ly-prose h2 { font-size: 36px; line-height: 46px; margin-top: 40px; } }
@media (max-width: 767px) { .ly-prose h2 { font-size: 28px; line-height: 36px; margin: 36px 0 16px; } .ly-prose h3 { margin-top: 24px; } }/* End custom CSS */