/*
Theme Name: AEPC Nouvelle-Aquitaine
Theme URI: https://aepcna.fr
Author: AEPC Nouvelle-Aquitaine
Description: Thème bloc sur mesure de l'Association Économique des Professionnels du Conseil de Nouvelle-Aquitaine (charte UDF4). Contenu 100 % éditable dans l'éditeur de blocs.
Version: 1.7.6
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aepcna
Tags: block-theme, full-site-editing, business
*/

/* ==========================================================================
   AEPC Nouvelle-Aquitaine — thème bloc
   Valeurs relevées sur « Proposition B — charte UDF4 » (maquette/).
   Chaque composant porte sa classe via className : les sélecteurs de la
   maquette s'appliquent aux blocs natifs.
   ========================================================================== */

:root {
  --encre: #0B2A47;
  --marine: #0F3D66;
  --marine-clair: #14567F;
  --sarcelle: #0E7A87;
  --sarcelle-vif: #1C99A3;
  --cyan-pale: #9FDDE2;
  --vert: #2F5D50;
  --texte: #3A4B5E;
  --texte-doux: #5A6A80;
  --gris-titre: #4A5A72;
  --ligne: #DCE6EE;
  --ligne-forte: #C9D6E2;
  --fond: #F2F6F9;
  --fond-carte: #EEF2F7;
  --fond-icone: #E3F2F4;
  --blanc: #FFFFFF;
  --sur-sombre: #D6E4F0;
  --degrade: linear-gradient(120deg, #0B2A47 0%, #0F3D66 55%, #14567F 100%);
  --degrade-60: linear-gradient(120deg, #0B2A47 0%, #0F3D66 60%, #14567F 100%);
  --ombre: 0 6px 18px rgba(15, 61, 102, 0.08);
  --gouttiere: 80px;
  --largeur: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Figtree', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--encre);
  background: var(--fond);
  -webkit-font-smoothing: antialiased;
}
/* height:auto obligatoire : sinon l'attribut height des blocs image l'emporte sur aspect-ratio */
img { max-width: 100%; height: auto; display: block; }
a { color: var(--encre); }
a:hover { color: var(--sarcelle); }
h1, h2, h3 {
  font-family: 'Figtree', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0;
  hyphens: none;
  text-wrap: balance;
}
p { margin: 0; }

/* Espacement automatique de Gutenberg : coupé dans theme.json (blockGap 0px),
   filet de sécurité ici À SPÉCIFICITÉ NULLE pour ne jamais écraser les marges
   des composants. */
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
figure.wp-block-image { margin: 0; }
.wp-site-blocks > * { margin-block: 0; }
main.wp-block-group { margin: 0; }

/* ---------- Ossature ---------- */
.enveloppe {
  width: 100%;
  max-width: calc(var(--largeur) + 2 * var(--gouttiere));
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gouttiere);
  padding-right: var(--gouttiere);
}
.section { padding-top: 104px; padding-bottom: 104px; }
.section--blanc { background: var(--blanc); }
.section--sombre { background: var(--degrade); color: var(--blanc); }
.pile { display: flex; flex-direction: column; }

.surtitre {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sarcelle);
}
.section--sombre .surtitre, .hero .surtitre, .bandeau-page .surtitre { color: var(--cyan-pale); letter-spacing: 0.2em; }
.titre-section { font-size: 44px; line-height: 1.14; }
.chapeau { font-size: 18px; line-height: 1.6; color: var(--texte); }
.section--sombre .titre-section { color: var(--blanc); }
.section--sombre .chapeau { color: var(--sur-sombre); }
.entete-section { display: flex; flex-direction: column; gap: 14px; max-width: 820px; }
.entete-section--large { gap: 16px; max-width: 900px; }
.entete-section--etroite { max-width: 760px; }

.grille-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grille-2--cartes { gap: 24px; }
.grille-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.grille-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

/* ---------- Boutons (core/buttons + core/button) ----------
   La classe de variante est posée sur le conteneur .wp-block-button ;
   le style vit sur le lien. */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 14px; }
.wp-block-buttons > .wp-block-button { margin: 0; }
.wp-block-button .wp-block-button__link {
  display: inline-block;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  padding: 16px 26px;
  border-radius: 6px;
  border: 1.5px solid transparent;
  background: var(--marine);
  color: var(--blanc);
  transition: background-color .2s, color .2s, border-color .2s;
}
.wp-block-button .wp-block-button__link:hover { background: var(--encre); color: var(--blanc); }
.wp-block-button.bouton--sarcelle .wp-block-button__link { background: var(--sarcelle-vif); color: var(--blanc); }
.wp-block-button.bouton--sarcelle .wp-block-button__link:hover { background: var(--sarcelle); }
.wp-block-button.bouton--contour-blanc .wp-block-button__link { background: transparent; border-color: var(--blanc); color: var(--blanc); padding: 15px 24px; }
.wp-block-button.bouton--contour-blanc .wp-block-button__link:hover { background: var(--blanc); color: var(--encre); }
.wp-block-button.bouton--blanc .wp-block-button__link { background: var(--blanc); color: var(--encre); padding: 15px 24px; }
.wp-block-button.bouton--blanc .wp-block-button__link:hover { background: var(--fond-icone); color: var(--encre); }
.wp-block-button.bouton--contour .wp-block-button__link { background: transparent; border-color: var(--encre); color: var(--encre); }
.wp-block-button.bouton--contour .wp-block-button__link:hover { background: var(--encre); color: var(--blanc); }
.wp-block-button.bouton--sarcelle-fonce .wp-block-button__link { background: var(--sarcelle); color: var(--blanc); padding: 14px 20px; font-size: 15px; }
.wp-block-button.bouton--sarcelle-fonce .wp-block-button__link:hover { background: var(--marine); }
.wp-block-button.bouton--petit .wp-block-button__link { font-size: 15px; padding: 13px 20px; }

/* ---------- En-tête ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; margin: 0; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 0; } }
.site-entete { background: var(--blanc); border-bottom: 1px solid var(--ligne); }
.site-entete .enveloppe {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-entete .wp-block-site-logo { flex: none; line-height: 0; }
.site-entete .wp-block-site-logo img { height: 52px; width: auto; }
.nav-principale { font-size: 15px; font-weight: 500; }
.nav-principale .wp-block-navigation__container { gap: 30px; }
.nav-principale .wp-block-navigation-item__content { text-decoration: none; white-space: nowrap; color: var(--encre); }
.nav-principale .wp-block-navigation-item__content:hover { color: var(--sarcelle); }
.site-entete .entete-cta .wp-block-button__link { font-size: 15px; padding: 14px 22px; white-space: nowrap; }
.nav-principale .nav-actionnable .wp-block-navigation-item__content {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 999px;
  background: #F2F7F4; border: 1px solid #C6D8CF;
  color: var(--vert); font-weight: 600;
}
.nav-principale .nav-actionnable .wp-block-navigation-item__content::before { content: ''; width: 16px; height: 16px; flex: none; background-position: center; background-size: contain; background-repeat: no-repeat; }
.nav-principale .nav-actionnable .wp-block-navigation-item__content:hover { background: var(--vert); border-color: var(--vert); color: var(--blanc); }
.wp-block-navigation.nav-principale .is-menu-open .nav-actionnable { border-bottom: 0; padding: 12px 0 4px; }
.wp-block-navigation.nav-principale .is-menu-open .nav-actionnable .wp-block-navigation-item__content { padding: 10px 16px; }

/* Panneau mobile du menu : forcé aux couleurs du site (le bloc pose sinon
   un fond qui ne correspond pas) — seul usage justifié de !important. */
.wp-block-navigation.nav-principale .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--blanc) !important;
  color: var(--encre) !important;
  padding: 24px var(--gouttiere);
}
.wp-block-navigation.nav-principale .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; }
.wp-block-navigation.nav-principale .is-menu-open .wp-block-navigation-item__content { font-size: 18px; padding: 14px 0; }
.wp-block-navigation.nav-principale .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 24px; }
.wp-block-navigation.nav-principale .is-menu-open .wp-block-navigation__container { align-items: stretch; width: 100%; }
.wp-block-navigation.nav-principale .wp-block-navigation__responsive-container.is-menu-open {
  --navigation-layout-justification-setting: flex-start;
  --navigation-layout-justify: flex-start;
  --navigation-layout-align: flex-start;
}
.wp-block-navigation.nav-principale .is-menu-open .wp-block-navigation-item { align-items: flex-start; justify-content: flex-start; text-align: left; }
.wp-block-navigation.nav-principale .is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--ligne); }
.nav-principale .nav-contact { display: none; }
.wp-block-navigation.nav-principale .is-menu-open .nav-contact { display: flex; border-bottom: 0; margin-top: 20px; }
.wp-block-navigation.nav-principale .is-menu-open .nav-contact .wp-block-navigation-item__content {
  background: var(--marine); color: var(--blanc); border-radius: 6px; padding: 16px 22px; font-weight: 600; font-size: 16px;
}
.nav-principale .wp-block-navigation__responsive-container-open,
.nav-principale .wp-block-navigation__responsive-container-close { color: var(--encre); }
.nav-principale .wp-block-navigation__responsive-container-open {
  width: 48px; height: 48px; border: 1px solid var(--ligne); border-radius: 6px;
  align-items: center; justify-content: center;
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  overflow: hidden;
  background: var(--encre);
  color: var(--blanc);
}
.hero__photo { position: absolute; inset: 0; margin: 0; }
.hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .35;
  mix-blend-mode: luminosity;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(120deg, rgba(11, 42, 71, .96) 0%, rgba(15, 61, 102, .9) 55%, rgba(20, 86, 127, .82) 100%);
}
.hero .enveloppe { position: relative; z-index: 2; padding-top: 72px; padding-bottom: 96px; display: flex; flex-direction: column; gap: 28px; }
.hero__titre { font-size: 56px; line-height: 1.07; color: var(--blanc); max-width: 1100px; }
.hero__corps { gap: 64px; align-items: center; }
.hero__texte { display: flex; flex-direction: column; gap: 24px; }
.hero__accroche { font-size: 28px; line-height: 1.25; font-weight: 700; color: var(--blanc); }
.hero__intro { font-size: 19px; line-height: 1.6; color: var(--sur-sombre); max-width: 580px; }
.hero__actions { margin-top: 8px; }

.carte-equipe {
  background: var(--blanc);
  color: var(--encre);
  border: 1px solid var(--ligne);
  border-radius: 12px;
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: 0 24px 60px rgba(4, 20, 38, .35);
}
.carte-equipe__titre { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gris-titre); }
.role { display: flex; align-items: center; gap: 18px; padding: 18px; background: var(--fond-carte); border-radius: 8px; }
.role__pastille {
  width: 52px; height: 52px; flex: none; border-radius: 50%;
  background: var(--marine); color: var(--blanc);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 16px;
}
.role__pastille--sarcelle { background: var(--sarcelle); }
.role__nom { font-weight: 700; font-size: 17px; }
.role__desc { font-size: 14px; color: var(--texte); }
.carte-equipe__pied { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--ligne); font-size: 15px; color: var(--texte); }
.carte-equipe__pied::before { content: ''; flex: none; width: 22px; height: 22px; background: center / contain no-repeat var(--icone-equipe-marine); }

/* ---------- Pastilles d'icône (pseudo-éléments, aucun SVG dans le contenu) ---------- */
.a-icone::before {
  content: '';
  flex: none;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: var(--fond-icone);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 28px 28px;
}
.a-icone--petite::before { width: 56px; height: 56px; background-size: 26px 26px; }
.a-icone--mini::before { width: 44px; height: 44px; background-size: 22px 22px; }

/* ---------- Chiffres ---------- */
.chiffres { padding-top: 48px; padding-bottom: 16px; }
.chiffre {
  background: var(--blanc);
  border: 1px solid var(--ligne);
  border-radius: 14px;
  padding: 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: var(--ombre);
}
.chiffre__valeur { font-size: 44px; font-weight: 800; line-height: 1; color: var(--marine); }
.chiffre__valeur--sarcelle { color: var(--sarcelle); }
.chiffre__libelle { font-size: 15px; line-height: 1.4; color: var(--texte); margin-top: 2px; }

/* ---------- Qui sommes-nous ---------- */
.qui-section { padding-bottom: 40px; }
.qui { gap: 48px; }
.carte {
  background: var(--blanc);
  border: 1px solid var(--ligne);
  border-radius: 10px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.carte__etiquette { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sarcelle); }
.carte__titre { font-size: 22px; line-height: 1.25; }
.section--sombre .carte__titre { color: var(--encre); }
.carte__texte { font-size: 15px; line-height: 1.6; color: var(--texte); }

.competences { background: var(--fond-carte); border-radius: 12px; padding: 36px 40px; display: flex; flex-direction: column; gap: 20px; }
.competences__entete { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; }
.competences__titre { font-size: 26px; }
.competences__sous-titre { font-size: 15px; color: var(--texte); }
.puces { display: flex; flex-wrap: wrap; gap: 12px; }
.puce { font-size: 15px; font-weight: 600; padding: 10px 18px; border-radius: 999px; background: var(--blanc); border: 1px solid #C9D3E0; color: var(--encre); }
.puce--ouverte { background: transparent; border-style: dashed; border-color: #9AA6B8; color: var(--texte); }

/* ---------- Consultants ---------- */
.consultants { padding-top: 96px; padding-bottom: 96px; gap: 48px; }
.consultants__entete { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.consultants__entete .entete-section { gap: 16px; max-width: 760px; }
.consultants__droite { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; flex: none; }
.portraits { display: flex; align-items: center; }
.portraits .wp-block-image { margin: 0 0 0 -14px; flex: none; }
.portraits .wp-block-image:first-child { margin-left: 0; }
.portraits .wp-block-image img, .portraits__plus {
  width: 64px; height: 64px; border-radius: 50%; object-fit: cover;
  border: 3px solid var(--blanc);
}
.portraits__plus { margin-left: -14px; flex: none; background: var(--sarcelle-vif); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; color: var(--blanc); }
.atout { background: var(--blanc); border-radius: 14px; padding: 32px 28px; display: flex; flex-direction: column; gap: 14px; color: var(--encre); }
.atout__titre { font-size: 22px; line-height: 1.25; color: var(--encre); }
.atout__texte { font-size: 15px; line-height: 1.65; color: var(--texte); }
.note-sombre { font-size: 12px; color: #B8C9DA; }

/* ---------- Pourquoi l'AEPC ---------- */
.pourquoi { gap: 48px; }
.atout--bord { border: 1px solid var(--ligne); }
.equation { background: var(--fond-carte); border-radius: 12px; padding: 36px 40px; display: flex; flex-direction: column; gap: 20px; }
.equation__titre { font-size: 26px; }
.equation__ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.equation__terme { background: var(--blanc); border: 1px solid #C9D3E0; border-radius: 999px; padding: 12px 22px; font-size: 17px; font-weight: 700; color: var(--encre); }
.equation__plus { font-size: 28px; font-weight: 800; line-height: 1; color: var(--sarcelle); }
.equation__note { font-size: 15px; line-height: 1.6; color: var(--texte); }

/* ---------- Méthode ---------- */
.methode { gap: 52px; }
.etapes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.etape { background: var(--blanc); border: 1px solid var(--ligne); border-left-width: 0; padding: 32px 28px; display: flex; flex-direction: column; gap: 10px; }
.etape:first-child { border-left-width: 1px; border-radius: 10px 0 0 10px; }
.etape:last-child { border-radius: 0 10px 10px 0; }
.etape__num { font-size: 13px; font-weight: 700; color: var(--gris-titre); }
.etape__titre { font-size: 21px; }
.etape__texte { font-size: 15px; line-height: 1.6; color: var(--texte); }
.etape--active { background: var(--marine); border-color: var(--marine); color: var(--blanc); }
.etape--active .etape__num, .etape--active .etape__texte { color: #D6DEEA; }
.etape--active .etape__titre { color: var(--blanc); }

.exemple { background: var(--blanc); border: 1px solid var(--ligne); border-radius: 16px; overflow: hidden; box-shadow: var(--ombre); }
.exemple__bandeau { background: var(--degrade-60); padding: 28px 40px; display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.exemple__bandeau .surtitre { font-size: 12px; letter-spacing: .22em; color: var(--cyan-pale); }
.exemple__titre { font-size: 30px; color: var(--blanc); margin-top: 6px; }
.exemple__logo { background: var(--blanc); border-radius: 8px; padding: 6px 10px; flex: none; }
.exemple__logo img { height: 96px; width: auto; }
.exemple__corps { padding: 36px 40px; gap: 40px; }
.exemple__rubrique { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sarcelle); margin-bottom: 14px; }
.exemple__roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mini-carte { border: 1px solid var(--ligne); border-radius: 10px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.mini-carte__titre { font-weight: 700; color: var(--encre); }
.mini-carte__texte { font-size: 14px; line-height: 1.5; color: var(--texte); }
.exemple__texte { font-size: 16px; line-height: 1.65; color: var(--texte); }

/* ---------- Territoire ---------- */
.territoire .enveloppe { gap: 72px; align-items: center; }
.territoire__texte { display: flex; flex-direction: column; gap: 20px; }
.territoire__texte .chapeau { line-height: 1.65; }
.carte-region { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.carte-region .wp-block-image { width: 100%; max-width: 540px; }
.carte-region .wp-block-image img { width: 100%; }
.legende { font-size: 12px; color: var(--texte-doux); }

/* ---------- Écosystème ---------- */
.ecosysteme { gap: 44px; }
.logos__groupe { display: flex; flex-direction: column; gap: 12px; }
.logos__libelle { font-size: 13px; font-weight: 700; color: var(--texte-doux); }
.logos__partenaires { grid-column: span 3; }
.logos__grille3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.logos__clients { gap: 16px; }
.logo-tuile.wp-block-image { height: 140px; background: var(--blanc); border: 1px solid var(--ligne); border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 14px 18px; margin: 0; }
.logo-tuile.wp-block-image img { max-height: 108px; max-width: 100%; width: auto; }
.logo-tuile.wp-block-image > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.logo-tuile.wp-block-image:has(> a) { transition: border-color .2s, box-shadow .2s; }
.logo-tuile.wp-block-image:has(> a):hover { border-color: var(--sarcelle); box-shadow: var(--ombre); }
.logo-tuile.wp-block-image > a:focus-visible { outline: 2px solid var(--sarcelle); outline-offset: 4px; border-radius: 6px; }
.logo-tuile--basse.wp-block-image { height: 96px; }
.logo-tuile--basse.wp-block-image img { max-height: 70px; }
.logo-tuile.logo-h64 img { max-height: 64px; }
.logo-tuile.logo-h72 img { max-height: 72px; }
.logo-tuile.logo-h96 img { max-height: 96px; }

/* ---------- Offres ---------- */
.offres { gap: 48px; }
.offre { border: 1px solid var(--ligne); border-radius: 10px; padding: 32px 28px; display: flex; flex-direction: column; gap: 16px; background: var(--blanc); }
.offre::before { content: ''; width: 32px; height: 32px; background: center / contain no-repeat; }
.offre__titre { font-size: 22px; line-height: 1.25; }
.offre__texte { font-size: 15px; line-height: 1.6; color: var(--texte); }

.offre__public, .solution__public { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sarcelle); }
.offre__public--pme, .solution__public--pme { color: var(--vert); }
.offre__lien { margin-top: auto; font-size: 15px; font-weight: 600; }
.offre__lien a { color: var(--sarcelle); text-decoration: none; }
.offre__lien a:hover { color: var(--marine); }

/* ---------- Page Solutions ---------- */
.solutions { gap: 48px; }
.solutions-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.solution { background: var(--blanc); border: 1px solid var(--ligne); border-radius: 14px; padding: 40px; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 112px; }
.solution::before { content: ''; width: 40px; height: 40px; background: center / contain no-repeat; }
.solution__titre { font-size: 26px; line-height: 1.2; }
.solution__cible { font-size: 16px; line-height: 1.6; color: var(--texte); }
.solution__cible strong, .solution__reference strong { color: var(--encre); }
.solution__reference a { color: var(--marine); font-weight: 600; }
.solution__rubrique { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sarcelle); margin-top: 8px; }
.liste-coches { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.liste-coches li { position: relative; padding-left: 30px; font-size: 15px; line-height: 1.6; color: var(--texte); }
.liste-coches li::before { content: ''; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; background: center / contain no-repeat; }
.solution__reference { margin-top: auto; padding: 14px 16px; border-left: 3px solid var(--sarcelle); background: var(--fond); border-radius: 0 8px 8px 0; font-size: 14px; line-height: 1.6; color: var(--texte); }
.solution__contact { font-size: 15px; line-height: 1.6; color: var(--texte); }
.solution__contact strong { color: var(--encre); }
.solution--pme .solution__contact { background: var(--blanc); border: 1px solid #C6D8CF; border-radius: 10px; padding: 16px 18px; }
.solution__contact a { color: var(--vert); font-weight: 700; }
.solution--pme .solution__lien a { display: inline-block; background: var(--vert); color: var(--blanc); padding: 12px 20px; border-radius: 6px; }
.solution--pme .solution__lien a:hover { background: var(--encre); color: var(--blanc); }
.solution__lien a { color: var(--marine); font-weight: 700; text-decoration: none; }
.solution__lien a:hover { color: var(--sarcelle); }
.etapes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.solutions__pme { margin-top: 24px; }
.solution--pme { background: #F2F7F4; border-color: #C6D8CF; }
.solution--pme .liste-coches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; }
.solution--pme .solution__reference { background: var(--blanc); border-left-color: var(--vert); }

/* ---------- Réalisations ---------- */
.realisations { gap: 48px; }
.realisation {
  background: var(--blanc);
  border: 1px solid var(--ligne);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .2s;
}
.realisation:hover { box-shadow: var(--ombre); transform: translateY(-2px); }
.realisation__photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.realisation__corps { padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.realisation__etiquette { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--marine); }
.realisation__etiquette--vert { color: var(--vert); }
.realisation__etiquette--sarcelle { color: var(--sarcelle); }
.realisation__titre { font-size: 24px; color: var(--encre); }
.realisation__texte { font-size: 15px; line-height: 1.6; color: var(--texte); }

/* ---------- Garanties ---------- */
.garanties { padding-top: 96px; padding-bottom: 96px; gap: 40px; }
.garanties .titre-section { font-size: 36px; }
.garantie { border: 1px solid var(--ligne); border-radius: 10px; padding: 28px; display: flex; flex-direction: column; gap: 10px; background: var(--blanc); }
.garantie__titre { font-size: 19px; }
.garantie__texte { font-size: 15px; line-height: 1.6; color: var(--texte); }
.garantie--verte { border-color: #C6D8CF; background: #F2F7F4; }
.garantie--bleue { background: #D6DEEA; }
.badge { align-self: flex-start; font-size: 12px; font-weight: 700; color: var(--blanc); background: var(--vert); padding: 4px 10px; border-radius: 999px; }

/* ---------- Contact ---------- */
.contact { gap: 40px; }
.contact__grille { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px; align-items: start; }
.formulaire {
  background: var(--blanc);
  border: 1px solid var(--ligne);
  border-radius: 16px;
  padding: 44px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  box-shadow: 0 6px 18px rgba(15, 61, 102, .06);
}
.formulaire__titre { font-size: 28px; }
/* Contact Form 7 : le gabarit du formulaire porte les classes de la maquette. */
.formulaire .wpcf7 { margin: 0; }
.formulaire .wpcf7-form { display: flex; flex-direction: column; gap: 22px; }
.formulaire .hidden-fields-container { display: none; }
.formulaire .wpcf7-form-control-wrap { display: block; }
.formulaire .wpcf7-spinner { display: none; }
.champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.champ { display: flex; flex-direction: column; gap: 8px; }
.champ > span:first-child { font-size: 14px; font-weight: 600; }
.requis { color: #B42318; }
.champ input, .champ select, .champ textarea {
  display: block;
  font-family: inherit; font-size: 16px; padding: 14px 16px;
  border: 1.5px solid var(--ligne-forte); border-radius: 8px;
  background: var(--blanc); color: var(--encre); width: 100%;
  margin: 0;
}
.champ textarea { resize: vertical; min-height: 150px; }
.champ input:focus, .champ select:focus, .champ textarea:focus { outline: 2px solid var(--sarcelle); outline-offset: 1px; border-color: var(--sarcelle); }
.consentement { font-size: 14px; line-height: 1.6; color: var(--texte); }
.consentement .wpcf7-list-item { margin: 0; display: block; }
.consentement label { display: flex; gap: 12px; align-items: flex-start; }
.consentement input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--sarcelle); }
.consentement a, .rgpd a { color: var(--marine); font-weight: 600; }
.formulaire__envoi { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.formulaire__envoi small { font-size: 13px; color: var(--texte-doux); }
.formulaire .bouton-envoi {
  font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.2;
  border: none; background: var(--marine); color: var(--blanc);
  padding: 16px 32px; border-radius: 6px; cursor: pointer;
}
.formulaire .bouton-envoi:hover { background: var(--encre); }
.formulaire .wpcf7-not-valid-tip { color: #B42318; font-size: 13px; margin-top: 6px; }
.formulaire .wpcf7 form .wpcf7-response-output { margin: 0; padding: 14px 16px; border-radius: 8px; font-size: 15px; border-width: 1.5px; }
.formulaire .wpcf7 form.sent .wpcf7-response-output { border-color: var(--sarcelle); background: var(--fond-icone); }
.formulaire .wpcf7 form.invalid .wpcf7-response-output,
.formulaire .wpcf7 form.failed .wpcf7-response-output { border-color: #B42318; }
.rgpd { padding-top: 20px; border-top: 1px solid var(--ligne); display: flex; flex-direction: column; gap: 8px; font-size: 12px; line-height: 1.65; color: var(--texte-doux); }
.rgpd__titre { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--texte); }

.contact__aside { display: flex; flex-direction: column; gap: 24px; }
.coordonnees { background: var(--blanc); border: 1px solid var(--ligne); border-radius: 16px; overflow: hidden; }
.coordonnees__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 60% 30%; }
.coordonnees__corps { padding: 36px; display: flex; flex-direction: column; gap: 22px; }
.coordonnees__titre { font-size: 22px; }
.coordonnee { display: flex; gap: 14px; align-items: flex-start; }
.coordonnee__libelle { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--texte-doux); }
.coordonnee__valeur { font-size: 16px; line-height: 1.5; }
.coordonnee__valeur a { text-decoration: none; }
.encart-sombre { background: var(--degrade-60); border-radius: 16px; padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.encart-sombre .surtitre { font-size: 12px; letter-spacing: .22em; color: var(--cyan-pale); }
.encart-sombre__titre { font-size: 22px; line-height: 1.3; color: var(--blanc); }
.encart-sombre .wp-block-buttons { margin-top: 6px; }
.encart-sombre--large { flex-direction: row; justify-content: space-between; align-items: center; gap: 32px; padding: 40px 48px; }
.encart-sombre--large > .wp-block-group { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.encart-sombre--large .encart-sombre__titre { font-size: 26px; }
.encart-sombre--large .wp-block-buttons { margin-top: 0; flex: none; }

/* ---------- Page intérieure : bandeau ---------- */
.bandeau-page { background: var(--degrade); color: var(--blanc); }
.bandeau-page .enveloppe { padding-top: 56px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 12px; }
.fil-ariane { font-size: 13px; color: var(--sur-sombre); }
.fil-ariane a { color: var(--sur-sombre); }
.bandeau-page__titre { font-size: 52px; line-height: 1.1; color: var(--blanc); }
.bandeau-page .chapeau { color: var(--sur-sombre); max-width: 760px; }
.contact-page { padding-top: 72px; }

/* ---------- Pied de page ---------- */
footer.wp-block-template-part { margin: 0; }
.pied__appels { background: #E3F0F4; padding-top: 56px; padding-bottom: 56px; }
.pied__appels .enveloppe { gap: 24px; }
.appel { background: var(--blanc); border-radius: 14px; padding: 32px 36px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.appel__titre { font-size: 24px; }
.appel__texte { font-size: 15px; line-height: 1.6; color: var(--texte); margin-top: 8px; }
.appel .wp-block-buttons { flex: none; }

.pied { background: var(--encre); color: var(--sur-sombre); padding-top: 64px; padding-bottom: 40px; }
.pied .enveloppe { display: flex; flex-direction: column; gap: 48px; }
.pied__colonnes { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 48px; }
.pied__marque { display: flex; flex-direction: column; gap: 18px; }
.pied__marque .wp-block-site-logo { align-self: flex-start; background: var(--blanc); border-radius: 8px; padding: 10px 14px; line-height: 0; }
.pied__marque .wp-block-site-logo img { height: 48px; width: auto; }
.pied__devise { font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--blanc); }
.pied__desc { font-size: 14px; line-height: 1.6; color: #A9BCCF; }
.pied__titre { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan-pale); margin-bottom: 14px; }
.pied__liens { display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.5; }
.pied__liens a { color: var(--sur-sombre); text-decoration: none; }
.pied__liens a:hover { color: var(--blanc); }
.pied__ligne { display: flex; gap: 10px; align-items: flex-start; }
.pied__ligne::before { content: ''; flex: none; width: 18px; height: 18px; margin-top: 2px; background: center / contain no-repeat; }
.pied__liens .pied__lien-fort { margin-top: 6px; }
.pied__liens .pied__lien-fort a { color: var(--blanc); font-weight: 600; font-size: 14px; text-decoration: underline; }
.pied__linkedin a { display: inline-flex; align-items: center; gap: 12px; color: var(--sur-sombre); font-size: 14px; font-weight: 600; text-decoration: none; }
.pied__linkedin a::before { content: ''; flex: none; width: 40px; height: 40px; border-radius: 8px; background: rgba(255, 255, 255, .1) center / 20px 20px no-repeat; border: 1px solid rgba(255, 255, 255, .22); transition: background-color .2s, border-color .2s; }
.pied__linkedin a:hover { color: var(--blanc); }
.pied__linkedin a:hover::before, .pied__linkedin a:focus-visible::before { background-color: #0A66C2; border-color: #0A66C2; }
.pied__legal { padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .14); display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.pied__legal-liens { font-size: 16px; }
.pied__legal-liens a { color: var(--blanc); text-decoration: none; }
.pied__mentions { font-size: 13px; color: #A9BCCF; text-align: right; }

/* ---------- Pages légales (texte libre et documents Complianz) ---------- */
.page-legale { padding-top: 72px; }
.document-legal {
  max-width: 860px;
  background: var(--blanc);
  border: 1px solid var(--ligne);
  border-radius: 16px;
  padding: 48px 56px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--texte);
}
.document-legal h2, .document-legal .cmplz-document h2 { font-size: 24px; line-height: 1.3; color: var(--encre); margin: 36px 0 12px; }
.document-legal h3, .document-legal .cmplz-document h3 { font-size: 19px; line-height: 1.35; color: var(--encre); margin: 28px 0 10px; }
.document-legal h4, .document-legal .cmplz-document h4 { font-size: 16px; color: var(--encre); margin: 20px 0 8px; }
.document-legal > :first-child, .document-legal .cmplz-document > :first-child, .document-legal .wpcf7 + * { margin-top: 0; }
.document-legal p { margin: 0 0 12px; }
.document-legal strong { color: var(--encre); }
.document-legal a { color: var(--marine); font-weight: 600; overflow-wrap: anywhere; }
.document-legal ul, .document-legal ol { margin: 0 0 16px; padding-left: 22px; }
.document-legal li { margin-bottom: 6px; }
.document-legal table { width: 100%; border-collapse: collapse; margin: 12px 0 20px; font-size: 14px; }
.document-legal th, .document-legal td { border: 1px solid var(--ligne); padding: 10px 12px; text-align: left; vertical-align: top; }
.document-legal th { background: var(--fond-carte); color: var(--encre); }
.document-legal details { border: 1px solid var(--ligne); border-radius: 10px; padding: 14px 18px; margin: 0 0 12px; background: var(--fond); }
.document-legal summary { cursor: pointer; font-weight: 700; color: var(--encre); }
.document-legal .cmplz-document { max-width: none; font-size: inherit; }

/* ---------- Pages existantes (Elementor, textes légaux) ---------- */
.page-contenu { padding-top: 72px; padding-bottom: 104px; }

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
  :root { --gouttiere: 48px; }
  .hero__titre { font-size: 48px; }
  .grille-4, .etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etape, .etape:first-child, .etape:last-child { border-width: 1px; border-radius: 0; }
  .etape:first-child { border-radius: 10px 0 0 0; }
  .etape:nth-child(2) { border-radius: 0 10px 0 0; }
  .etape:nth-child(3) { border-radius: 0 0 0 10px; }
  .etape:last-child { border-radius: 0 0 10px 0; }
  .logos__partenaires { grid-column: span 2; }
  .pied__colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etapes.etapes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.solutions__pme { margin-top: 24px; }
.solution--pme { background: #F2F7F4; border-color: #C6D8CF; }
.solution--pme .liste-coches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; }
.solution--pme .solution__reference { background: var(--blanc); border-left-color: var(--vert); }
  .etapes--3 .etape { border-left-width: 0; border-radius: 0; }
  .etapes--3 .etape:first-child { border-left-width: 1px; border-radius: 10px 0 0 10px; }
  .etapes--3 .etape:last-child { border-radius: 0 10px 10px 0; }
}
@media (max-width: 1360px) {
  .nav-principale { font-size: 14px; }
  .nav-principale .wp-block-navigation__container { gap: 20px; }
  .site-entete .enveloppe { gap: 20px; }
  .site-entete .entete-cta .wp-block-button__link { padding: 14px 18px; }
}
@media (max-width: 1180px) {
  /* Le menu passe en panneau dès 1180 px (le bloc ne le fait qu'à 600 px). */
  .nav-principale { margin-left: auto; }
  .nav-principale .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .nav-principale .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
@media (max-width: 1024px) {
  .hero__corps, .territoire .enveloppe, .contact__grille, .exemple__corps { grid-template-columns: 1fr; }
  .hero__corps { gap: 40px; }
  .consultants__entete { flex-direction: column; align-items: flex-start; }
  .consultants__droite { align-items: flex-start; }
  .grille-3, .grille-2--cartes { grid-template-columns: 1fr; }
  .solutions-grille { grid-template-columns: 1fr; }
  .solution--pme .liste-coches { grid-template-columns: 1fr; }
  .encart-sombre--large { flex-direction: column; align-items: flex-start; }
  .pied__appels .enveloppe { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  :root { --gouttiere: 20px; }
  .chiffre__valeur { font-size: 34px; overflow-wrap: anywhere; }
  .section { padding-top: 72px; padding-bottom: 72px; }
  .site-entete .enveloppe { height: 72px; }
  .site-entete .wp-block-site-logo img { height: 42px; }
  .site-entete .entete-cta { display: none; }
  .hero .enveloppe { padding-top: 48px; padding-bottom: 64px; }
  .hero__titre { font-size: 36px; }
  .hero__accroche { font-size: 22px; }
  .hero__intro { font-size: 17px; }
  .carte-equipe { padding: 24px; }
  .titre-section { font-size: 32px; }
  .garanties .titre-section { font-size: 28px; }
  .bandeau-page__titre { font-size: 38px; }
  .grille-4, .etapes, .logos__grille3, .champs, .exemple__roles { grid-template-columns: 1fr; }
  .logos__partenaires { grid-column: auto; }
  .logos__clients { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etape, .etape:first-child, .etape:nth-child(2), .etape:nth-child(3), .etape:last-child { border-radius: 0; }
  .etape:first-child { border-radius: 10px 10px 0 0; }
  .etape:last-child { border-radius: 0 0 10px 10px; }
  .competences { padding: 28px 24px; }
  .exemple__bandeau { flex-direction: column; align-items: flex-start; padding: 24px; }
  .exemple__titre { font-size: 24px; }
  .exemple__logo img { height: 72px; }
  .exemple__corps { padding: 24px; }
  .formulaire { padding: 28px 22px; }
  .coordonnees__corps { padding: 28px 24px; }
  .appel { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
  .document-legal { padding: 28px 22px; }
  .solution { padding: 28px 22px; }
  .equation { padding: 28px 22px; }
  .equation__terme { font-size: 15px; padding: 10px 16px; }
  .etapes.etapes--3 { grid-template-columns: 1fr; }
  .etapes--3 .etape, .etapes--3 .etape:first-child, .etapes--3 .etape:last-child { border-width: 1px; border-top-width: 0; border-radius: 0; }
  .etapes--3 .etape:first-child { border-top-width: 1px; border-radius: 10px 10px 0 0; }
  .etapes--3 .etape:last-child { border-radius: 0 0 10px 10px; }
  .encart-sombre--large { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
  .encart-sombre--large .encart-sombre__titre { font-size: 22px; }
  .pied__colonnes { grid-template-columns: 1fr; gap: 36px; }
  .pied__legal { flex-direction: column; align-items: flex-start; }
  .pied__mentions { text-align: left; }
}

/* ---------- Icônes (générées par theme/src/build.js) ---------- */
.icone-equipe::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20c0-3.5 2.7-6 6-6s6 2.5 6 6'/%3E%3Cpath d='M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E"); }
.icone-valide::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12l3 3 5-6'/%3E%3C/svg%3E"); }
.icone-filieres::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3C/svg%3E"); }
.icone-lieu::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 10-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.icone-courriel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.icone-telephone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z'/%3E%3C/svg%3E"); }
.icone-horloge::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.icone-etoile::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.6 5.3 5.9.9-4.2 4.1 1 5.8L12 16.4 6.7 19.1l1-5.8L3.5 9.2l5.9-.9z'/%3E%3C/svg%3E"); }
.icone-bouclier::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.2-8 9-4.6-.8-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.icone-cible::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.5'/%3E%3C/svg%3E"); }
.icone-usine::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F3D66' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V10l5 3V10l5 3V6l4 2v13'/%3E%3C/svg%3E"); }
.icone-formation::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F3D66' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8l10-5 10 5-10 5z'/%3E%3Cpath d='M6 10v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
.icone-strategie::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F3D66' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='18' cy='18' r='3'/%3E%3Cpath d='M9 6h4a4 4 0 014 4v5'/%3E%3C/svg%3E"); }
.icone-pousse::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F5D50' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22V11'/%3E%3Cpath d='M12 11c0-4 3-7 8-7 0 5-3 8-8 7z'/%3E%3Cpath d='M12 14c0-3-2-5-7-5 0 4 2 6 7 5z'/%3E%3C/svg%3E"); }
.icone-usine-s::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V10l5 3V10l5 3V6l4 2v13'/%3E%3C/svg%3E"); }
.nav-actionnable .wp-block-navigation-item__content::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F5D50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22V11'/%3E%3Cpath d='M12 11c0-4 3-7 8-7 0 5-3 8-8 7z'/%3E%3Cpath d='M12 14c0-3-2-5-7-5 0 4 2 6 7 5z'/%3E%3C/svg%3E"); }
.liste-coches li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12l3 3 5-6'/%3E%3C/svg%3E"); }
.carte-equipe__pied::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F3D66' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20c0-3.5 2.7-6 6-6s6 2.5 6 6'/%3E%3Cpath d='M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E"); }
.pied__ligne.pied-lieu::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239FDDE2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 10-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.pied__ligne.pied-courriel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239FDDE2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.pied__ligne.pied-telephone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239FDDE2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z'/%3E%3C/svg%3E"); }
.pied__linkedin a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFFFFF'%3E%3Cpath d='M20.45 20.45h-3.55v-5.57c0-1.33-.03-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29zM5.34 7.43a2.06 2.06 0 110-4.13 2.06 2.06 0 010 4.13zM7.12 20.45H3.56V9h3.56v11.45z'/%3E%3C/svg%3E"); }
