/* ==========================================================================
   Adaptation Elementor du design system BCA.
   Les pages sont construites avec des conteneurs et des widgets Elementor
   natifs. Chaque élément porte une classe CSS (onglet Avancé > Classes CSS)
   qui reprend les styles de la maquette.
   Préfixe body.bca : passe devant les styles par défaut d'Elementor.
   ========================================================================== */

/* ---------- Réinitialisation des valeurs par défaut d'Elementor ---------- */
body.bca .e-con {
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
  --widgets-spacing: 0px 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}
body.bca .elementor-widget-heading .elementor-heading-title,
body.bca .elementor-widget-text-editor {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
body.bca .elementor-widget-text-editor p,
body.bca .elementor-widget-text-editor ul,
body.bca .elementor-widget-text-editor ol { margin: 0; }
body.bca .elementor-widget:not(:last-child) { margin-bottom: 0; }

/* ---------- Sections ---------- */
body.bca .e-con.section,
body.bca .e-con.hero,
body.bca .e-con.appel,
body.bca .e-con.bandeau {
  --content-width: 1200px;
  --padding-left: var(--gouttiere);
  --padding-right: var(--gouttiere);
  --padding-top: var(--section);
  --padding-bottom: var(--section);
  --gap: 56px;
  --row-gap: 56px;
  --column-gap: 56px;
  --flex-direction: column;
  --align-items: stretch;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  body.bca .e-con.section { --gap: 28px; --row-gap: 28px; --column-gap: 28px; }
}
body.bca .e-con.section > .e-con-inner,
body.bca .e-con.hero > .e-con-inner,
body.bca .e-con.appel > .e-con-inner,
body.bca .e-con.bandeau > .e-con-inner { position: relative; z-index: 1; }
body.bca .e-con.blanc { background-color: var(--blanc); }
body.bca .e-con.teinte { background-color: var(--bleu-teinte); }
body.bca .e-con.sombre { background-color: var(--noir); }
body.bca .e-con.bleu { background-color: var(--bleu); }
body.bca .e-con.sombre,
body.bca .e-con.bleu,
body.bca .e-con.hero,
body.bca .e-con.fond-photo { color: var(--blanc); }

/* Hero : la photo est réglée dans Elementor (Style > Arrière-plan), les voiles ici */
body.bca .e-con.hero {
  --padding-top: 120px;
  --padding-bottom: 0px;
  --gap: 24px;
  --row-gap: 24px;
  background-color: var(--noir);
}
body.bca .e-con.hero--accueil { --padding-top: 150px; --gap: 28px; --row-gap: 28px; }
body.bca .e-con.hero::before,
body.bca .e-con.fond-photo::before,
body.bca .e-con.appel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
body.bca .e-con.hero::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.35)),
    linear-gradient(rgba(21, 0, 255, 0.12), rgba(21, 0, 255, 0.12));
}
body.bca .e-con.hero--accueil::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.2)),
    linear-gradient(rgba(21, 0, 255, 0.12), rgba(21, 0, 255, 0.12));
}
body.bca .e-con.fond-photo::before { background: rgba(0, 0, 0, 0.86); }
body.bca .e-con.appel::before { background: rgba(21, 0, 255, 0.84); }
@media (max-width: 1099px) {
  body.bca .e-con.hero, body.bca .e-con.hero--accueil { --padding-top: 88px; }
}
@media (max-width: 767px) {
  body.bca .e-con.hero, body.bca .e-con.hero--accueil { --padding-top: 56px; --gap: 18px; --row-gap: 18px; }
  body.bca .e-con.hero::before,
  body.bca .e-con.hero--accueil::before {
    background:
      linear-gradient(rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.62)),
      linear-gradient(rgba(21, 0, 255, 0.14), rgba(21, 0, 255, 0.14));
  }
  body.bca .e-con.appel::before { background: rgba(21, 0, 255, 0.86); }
}

/* Halo bleu flouté : classe halo-* sur la section */
body.bca .e-con[class*="halo-"]::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 720px;
  height: 720px;
  border-radius: 50%;
  background: rgba(21, 0, 255, 0.5);
  filter: blur(160px);
  pointer-events: none;
}
body.bca .e-con.halo-hero::after { width: 760px; height: 760px; left: 60%; top: -180px; }
body.bca .e-con.halo-page::after { width: 640px; height: 640px; left: 880px; top: -200px; background: rgba(21, 0, 255, 0.45); }
body.bca .e-con.halo-gauche::after { width: 600px; height: 600px; left: -200px; top: 200px; background: rgba(21, 0, 255, 0.35); }
body.bca .e-con.halo-centre::after { width: 700px; height: 700px; left: 420px; top: 240px; background: rgba(21, 0, 255, 0.4); }
body.bca .e-con.halo-droite::after { width: 700px; height: 700px; left: 800px; top: -100px; background: rgba(21, 0, 255, 0.4); }
@media (max-width: 767px) {
  body.bca .e-con[class*="halo-"]::after { width: 380px; height: 380px; filter: blur(100px); }
  body.bca .e-con.halo-hero::after,
  body.bca .e-con.halo-page::after { left: 160px; top: -120px; }
}

/* Appel à l'action et bandeau */
body.bca .e-con.appel {
  --padding-top: 110px;
  --padding-bottom: 110px;
  --gap: 28px;
  --row-gap: 28px;
  --align-items: center;
  text-align: center;
  color: var(--blanc);
  background-color: var(--bleu);
}
@media (max-width: 767px) {
  body.bca .e-con.appel { --padding-top: 64px; --padding-bottom: 64px; --gap: 20px; --row-gap: 20px; --align-items: stretch; }
}
body.bca .e-con.bandeau {
  --padding-top: 80px;
  --padding-bottom: 80px;
  --flex-direction: row;
  --align-items: center;
  --gap: 64px;
  --column-gap: 64px;
  color: var(--blanc);
}
body.bca .e-con.bandeau > .e-con-inner > .elementor-widget-heading { flex: 0 0 620px; }
body.bca .e-con.bandeau > .e-con-inner > .e-con { flex: 1 1 0; }
@media (max-width: 1099px) {
  body.bca .e-con.bandeau { --flex-direction: column; --align-items: stretch; --gap: 24px; --row-gap: 24px; }
  body.bca .e-con.bandeau > .e-con-inner > .elementor-widget-heading { flex: none; }
}
@media (max-width: 767px) {
  body.bca .e-con.bandeau { --padding-top: 56px; --padding-bottom: 56px; --gap: 20px; --row-gap: 20px; }
}

/* ---------- Conteneurs internes ---------- */
body.bca .e-con.pile { --gap: 24px; --row-gap: 24px; --flex-direction: column; --align-items: stretch; }
body.bca .e-con.pile-petite { --gap: 12px; --row-gap: 12px; --flex-direction: column; }
body.bca .e-con.pile-14 { --gap: 14px; --row-gap: 14px; }
body.bca .e-con.pile-22 { --gap: 22px; --row-gap: 22px; }
body.bca .e-con.pile-28 { --gap: 28px; --row-gap: 28px; }
body.bca .e-con.titre-section { --gap: 20px; --row-gap: 20px; --flex-direction: column; max-width: 820px; }
body.bca .e-con.titre-section.large { max-width: 980px; }
body.bca .e-con.titre-section.moyen { max-width: 900px; }
@media (max-width: 767px) { body.bca .e-con.titre-section { --gap: 14px; --row-gap: 14px; } }
body.bca .e-con.titre-section .grand { max-width: 720px; opacity: 0.72; }
@media (max-width: 767px) { body.bca .e-con.titre-section .grand { opacity: 0.75; } }
body.bca .elementor-widget.largeur-900 { max-width: 900px; }

body.bca .e-con.rangee-boutons {
  --flex-direction: row;
  --flex-wrap: wrap;
  --gap: 16px;
  --row-gap: 16px;
  --column-gap: 16px;
  --align-items: center;
  --justify-content: flex-start;
}
body.bca .e-con.rangee-boutons.centre { --justify-content: center; }
body.bca .e-con.rangee-boutons > .elementor-widget { width: auto; }
@media (max-width: 767px) {
  body.bca .e-con.rangee-boutons { --flex-direction: column; --align-items: stretch; --gap: 12px; --row-gap: 12px; }
  body.bca .e-con.rangee-boutons > .elementor-widget,
  body.bca .e-con.rangee-boutons .elementor-button { width: 100%; }
}

body.bca .e-con.grille { display: grid; --display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.bca .e-con.grille-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.bca .e-con.grille-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1099px) {
  body.bca .e-con.grille-3, body.bca .e-con.grille-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.bca .e-con.grille { grid-template-columns: 1fr; gap: 16px; }
}

body.bca .e-con.deux-colonnes { display: grid; --display: grid; grid-template-columns: 540px minmax(0, 1fr); gap: 80px; align-items: center; }
body.bca .e-con.deux-colonnes.inverse { grid-template-columns: minmax(0, 1fr) 520px; }
body.bca .e-con.deux-colonnes.fondateur { grid-template-columns: 420px minmax(0, 1fr); gap: 72px; }
@media (max-width: 1099px) {
  body.bca .e-con.deux-colonnes,
  body.bca .e-con.deux-colonnes.inverse,
  body.bca .e-con.deux-colonnes.fondateur { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
}
@media (max-width: 767px) {
  body.bca .e-con.deux-colonnes,
  body.bca .e-con.deux-colonnes.inverse,
  body.bca .e-con.deux-colonnes.fondateur { grid-template-columns: 1fr; gap: 28px; }
  body.bca .e-con.deux-colonnes.inverse > .colonne-image { order: -1; }
  body.bca .e-con.deux-colonnes.fondateur { gap: 20px; }
}

/* Cartes */
body.bca .e-con.carte {
  --flex-direction: column;
  --gap: 16px;
  --row-gap: 16px;
  --padding-top: 32px;
  --padding-right: 32px;
  --padding-bottom: 32px;
  --padding-left: 32px;
  --align-items: stretch;
  border-radius: var(--rayon-carte);
  background-color: var(--blanc);
}
body.bca .e-con.carte--contour { border: 1px solid var(--trait-clair); }
body.bca .e-con.carte--verre { background-color: var(--verre); border: 1px solid var(--trait-sombre); color: var(--blanc); }
body.bca .e-con.carte--bleue { background-color: var(--bleu); color: var(--blanc); }
body.bca .e-con.carte.sombre { background-color: var(--noir); color: var(--blanc); }
body.bca .e-con.carte.teinte { background-color: var(--bleu-teinte); color: var(--noir); }
body.bca .e-con.carte--image { --padding-top: 16px; --padding-right: 16px; --padding-bottom: 16px; --padding-left: 16px; --gap: 18px; --row-gap: 18px; }
body.bca .e-con.carte-service { background-color: rgba(0, 0, 0, 0.6); border: 1px solid var(--trait-sombre); color: var(--blanc); }
body.bca .e-con.formule--vedette { background-color: var(--bleu); border-color: transparent; box-shadow: 0 0 60px rgba(21, 0, 255, 0.6); }
body.bca .e-con.formule-detaillee { --gap: 18px; --row-gap: 18px; --padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px; }
body.bca .e-con.formule-detaillee.carte--bleue { box-shadow: 0 20px 60px rgba(21, 0, 255, 0.45); }
body.bca .e-con.carte-audit { box-shadow: 0 16px 48px rgba(21, 0, 255, 0.4); border-radius: 24px; }
body.bca .e-con.carte-contact { border-radius: 24px; --gap: 20px; --row-gap: 20px; }
body.bca .e-con.formulaire-carte { border-radius: 24px; --padding-top: 40px; --padding-right: 40px; --padding-bottom: 40px; --padding-left: 40px; --gap: 24px; --row-gap: 24px; }
body.bca .e-con.faq-carte { --padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px; --gap: 10px; --row-gap: 10px; border-radius: 16px; }
body.bca .e-con.faq { --gap: 14px; --row-gap: 14px; }
body.bca .e-con.encadre-pointille {
  --padding-top: 64px; --padding-right: 64px; --padding-bottom: 64px; --padding-left: 64px;
  --gap: 22px; --row-gap: 22px; --align-items: center;
  border: 1.5px dashed rgba(255, 255, 255, 0.4);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.04);
  text-align: center;
}
body.bca .e-con.encadre-pointille .elementor-widget-heading { max-width: 760px; }
body.bca .e-con.encadre-pointille .elementor-widget-text-editor.grand { max-width: 640px; opacity: 0.78; }
@media (max-width: 767px) {
  body.bca .e-con.carte { --padding-top: 24px; --padding-right: 24px; --padding-bottom: 24px; --padding-left: 24px; --gap: 12px; --row-gap: 12px; }
  body.bca .e-con.carte--image { --padding-top: 14px; --padding-right: 14px; --padding-bottom: 14px; --padding-left: 14px; --gap: 14px; --row-gap: 14px; }
  body.bca .e-con.formule-detaillee { --gap: 14px; --row-gap: 14px; }
  body.bca .e-con.formulaire-carte { --padding-top: 20px; --padding-right: 20px; --padding-bottom: 20px; --padding-left: 20px; border-radius: 20px; }
  body.bca .e-con.faq-carte { --padding-top: 20px; --padding-right: 20px; --padding-bottom: 20px; --padding-left: 20px; --gap: 8px; --row-gap: 8px; border-radius: 14px; }
  body.bca .e-con.encadre-pointille { --padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px; --align-items: stretch; text-align: left; border-radius: 22px; }
  body.bca .e-con.carte-ligne { --flex-direction: row; --gap: 14px; --column-gap: 14px; --padding-top: 20px; --padding-right: 20px; --padding-bottom: 20px; --padding-left: 20px; --align-items: flex-start; }
  body.bca .e-con.carte-ligne > .e-con { flex: 1 1 0; }
  body.bca .chiffre .h1 { font-size: var(--prix); }
  body.bca .e-con.chiffre { --gap: 6px; --row-gap: 6px; }
}
body.bca .e-con.carte__texte { --gap: 10px; --row-gap: 10px; --padding-left: 16px; --padding-right: 16px; --padding-bottom: 16px; }
@media (max-width: 767px) { body.bca .e-con.carte__texte { --gap: 6px; --row-gap: 6px; --padding-left: 8px; --padding-right: 8px; --padding-bottom: 8px; } }

/* Lignes de la page Services */
body.bca .e-con.service-ligne {
  display: grid;
  --display: grid;
  grid-template-columns: 320px minmax(0, 1fr) 320px;
  gap: 48px;
  align-items: center;
  --padding-top: 44px;
  --padding-bottom: 44px;
  border-top: 1px solid var(--trait-clair);
}
body.bca .e-con.service-ligne.premiere { border-top: 0; }
@media (max-width: 1099px) {
  body.bca .e-con.service-ligne { grid-template-columns: 260px minmax(0, 1fr); gap: 32px; }
  body.bca .e-con.service-ligne > .inclus { grid-column: 2; }
}
@media (max-width: 767px) {
  body.bca .e-con.service-ligne { grid-template-columns: 1fr; gap: 14px; --padding-top: 32px; --padding-bottom: 32px; }
  body.bca .e-con.service-ligne > .inclus { grid-column: auto; }
}

/* Contact */
body.bca .e-con.contact-grille { display: grid; --display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: start; }
body.bca .e-con.colonne-contact { --gap: 24px; --row-gap: 24px; }
@media (max-width: 1099px) {
  body.bca .e-con.contact-grille { display: flex; flex-direction: column; gap: 16px; }
  body.bca .e-con.colonne-contact { display: contents; }
  body.bca .e-con.carte-audit { order: -1; }
}

/* ---------- Widgets ---------- */
/* Titres (widget Titre + classe h1, h2, h3, h4) */
body.bca .elementor-widget-heading.h1 .elementor-heading-title { font-family: var(--police-titre); font-size: var(--h1); font-weight: 700; line-height: 1.1; letter-spacing: -1.5px; }
body.bca .elementor-widget-heading.h2 .elementor-heading-title { font-family: var(--police-titre); font-size: var(--h2); font-weight: 700; line-height: 1.15; letter-spacing: -1px; }
body.bca .elementor-widget-heading.h3 .elementor-heading-title { font-family: var(--police-titre); font-size: var(--h3); font-weight: 600; line-height: 1.3; letter-spacing: 0; }
body.bca .elementor-widget-heading.h4 .elementor-heading-title { font-family: var(--police-titre); font-size: var(--h4); font-weight: 600; line-height: 1.35; letter-spacing: 0; }
@media (max-width: 767px) {
  body.bca .elementor-widget-heading.h1 .elementor-heading-title { letter-spacing: -1px; line-height: 1.12; }
  body.bca .elementor-widget-heading.h2 .elementor-heading-title { letter-spacing: -0.5px; line-height: 1.2; }
}
body.bca .hero .elementor-widget-heading.h1 { max-width: 900px; }
body.bca .hero--accueil .elementor-widget-heading.h1 { max-width: 760px; }
body.bca .appel .elementor-widget-heading.h2 { max-width: 900px; margin: 0 auto; }
body.bca .elementor-widget-heading.texte-bleu .elementor-heading-title { color: var(--bleu); }
body.bca .elementor-widget-heading.largeur-620 { max-width: 620px; }

/* Textes (widget Éditeur de texte) */
body.bca .elementor-widget-text-editor.grand { font-size: var(--grand); line-height: 1.55; }
body.bca .hero .elementor-widget-text-editor.grand { max-width: 700px; opacity: 0.82; }
body.bca .hero--accueil .elementor-widget-text-editor.grand { max-width: 620px; }
body.bca .appel .elementor-widget-text-editor.grand { max-width: 720px; margin: 0 auto; opacity: 0.9; }
@media (max-width: 767px) { body.bca .hero .elementor-widget-text-editor.grand { opacity: 0.85; } }

/* Boutons (widget Bouton + classe bouton--...) */
body.bca .elementor-widget-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 28px;
  border: 1.5px solid transparent;
  border-radius: 999px;
  font-family: var(--police-texte);
  font-size: var(--label);
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  box-shadow: none;
  transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
body.bca .elementor-widget-button .elementor-button:hover { transform: translateY(-1px); }
body.bca .bouton--primaire .elementor-button,
body.bca .bouton--primaire .elementor-button:hover,
body.bca .bouton--primaire .elementor-button:focus { background: var(--bleu); color: var(--blanc); }
body.bca .bouton--primaire .elementor-button:hover { box-shadow: 0 10px 28px rgba(21, 0, 255, 0.35); }
body.bca .bouton--blanc .elementor-button,
body.bca .bouton--blanc .elementor-button:hover,
body.bca .bouton--blanc .elementor-button:focus { background: var(--blanc); color: var(--noir); }
body.bca .bouton--contour-clair .elementor-button,
body.bca .bouton--contour-clair .elementor-button:focus { background: transparent; color: var(--blanc); border-color: var(--blanc); }
body.bca .bouton--contour-clair .elementor-button:hover { background: rgba(255, 255, 255, 0.1); color: var(--blanc); }
body.bca .bouton--contour-sombre .elementor-button,
body.bca .bouton--contour-sombre .elementor-button:focus { background: transparent; color: var(--noir); border-color: var(--noir); }
body.bca .bouton--contour-sombre .elementor-button:hover { background: var(--noir); color: var(--blanc); }
body.bca .bouton--plein .elementor-button { width: 100%; }
body.bca .elementor-widget-button.aligne-debut { align-self: flex-start; }
@media (max-width: 767px) {
  body.bca .elementor-widget-button.mobile-plein { align-self: stretch; }
  body.bca .mobile-plein .elementor-button { width: 100%; }
}

/* Images (widget Image + classe de hauteur) */
body.bca .elementor-widget-image img { display: block; width: 100%; object-fit: cover; }
body.bca .elementor-widget-image.image-ronde img { border-radius: var(--rayon-image); }
body.bca .elementor-widget-image.image-couverture img { border-radius: 14px; }
body.bca .photo-grande img { height: 560px; }
body.bca .photo-haute img { height: 600px; }
body.bca .photo-profil img { height: 240px; }
body.bca .photo-service img { height: 190px; }
body.bca .photo-format img { height: 260px; }
body.bca .photo-projet img { height: 300px; }
body.bca .photo-ligne img { height: 240px; border-radius: 20px; }
@media (max-width: 767px) {
  body.bca .photo-grande img { height: 260px; }
  body.bca .photo-haute img { height: 300px; }
  body.bca .photo-createurs img, body.bca .photo-histoire img { height: 280px; }
  body.bca .photo-profil img { height: 200px; }
  body.bca .photo-service img { height: 170px; }
  body.bca .photo-format img { height: 220px; }
  body.bca .photo-projet img { height: 200px; }
  body.bca .photo-ligne img { height: 210px; border-radius: 16px; }
}

/* Couvertures avec texte superposé (Création, Projets) */
body.bca .e-con.couverture { position: relative; overflow: hidden; border-radius: 14px; }
body.bca .e-con.couverture > .elementor-widget-text-editor { position: absolute; z-index: 2; }
body.bca .e-con.couverture--format > .elementor-widget-text-editor { top: 16px; left: 16px; }
body.bca .e-con.couverture--projet > .elementor-widget-text-editor { inset: 0; display: flex; align-items: center; justify-content: center; color: var(--blanc); }
body.bca .e-con.couverture--projet::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(rgba(21, 0, 255, 0.18), rgba(21, 0, 255, 0.18)), rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
@media (max-width: 767px) { body.bca .e-con.couverture--format > .elementor-widget-text-editor { top: 14px; left: 14px; } }

/* Groupes de texte dans un seul widget Éditeur de texte */
body.bca .pile-texte { --espace-texte: 10px; }
body.bca .pile-texte-6 { --espace-texte: 6px; }
body.bca .pile-texte-12 { --espace-texte: 12px; }
body.bca .pile-texte-16 { --espace-texte: 16px; }
body.bca .pile-texte-18 { --espace-texte: 18px; }
body.bca .pile-texte :is(p, h2, h3, h4, ul, ol, div, hr, span.etiquette) + :is(p, h2, h3, h4, ul, ol, div, hr) { margin-top: var(--espace-texte); }
body.bca .pile-texte .etiquette { display: inline-flex; }
body.bca .pile-texte .formule__prix p + p { margin-top: 0; }
@media (max-width: 767px) {
  body.bca .pile-texte { --espace-texte: 6px; }
  body.bca .pile-texte-12 { --espace-texte: 8px; }
  body.bca .pile-texte-16 { --espace-texte: 8px; }
  body.bca .pile-texte-18 { --espace-texte: 14px; }
}

/* Réglages propres à certaines sections */
body.bca .e-con.section-services { --padding-top: 72px; --padding-bottom: 96px; --gap: 0px; --row-gap: 0px; }
body.bca .e-con.section-formules { --padding-top: 96px; --gap: 32px; --row-gap: 32px; }
body.bca .e-con.section-faq { --gap: 40px; --row-gap: 40px; }
body.bca .e-con.section-cas { --padding-top: 110px; --padding-bottom: 110px; }
body.bca .e-con.carte-valeur { --gap: 18px; --row-gap: 18px; --padding-top: 36px; --padding-right: 36px; --padding-bottom: 36px; --padding-left: 36px; }
body.bca .e-con.carte-audit,
body.bca .e-con.carte-contact { --padding-top: 32px; --padding-right: 32px; --padding-bottom: 32px; --padding-left: 32px; }
body.bca .e-con.carte-ensuite { --padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px; border-radius: 24px; }
body.bca .e-con.carte__texte--projet { --padding-left: 20px; --padding-right: 20px; --padding-bottom: 20px; }
body.bca .e-con.carte-ligne .numero,
body.bca .e-con.carte-ligne .icone-plateforme { flex: none; }
body.bca .e-con.carte-ligne > .elementor-widget-text-editor:first-child { flex: none; }
@media (max-width: 767px) {
  body.bca .e-con.section-services { --padding-top: 24px; --padding-bottom: 48px; }
  body.bca .e-con.section-formules { --padding-top: 40px; --gap: 20px; --row-gap: 20px; }
  body.bca .e-con.section-faq { --gap: 16px; --row-gap: 16px; }
  body.bca .e-con.section-cas { --padding-top: 64px; --padding-bottom: 64px; }
  body.bca .e-con.carte-valeur { --gap: 12px; --row-gap: 12px; --padding-top: 22px; --padding-right: 22px; --padding-bottom: 22px; --padding-left: 22px; }
  body.bca .e-con.carte-audit,
  body.bca .e-con.carte-contact { --padding-top: 24px; --padding-right: 24px; --padding-bottom: 24px; --padding-left: 24px; border-radius: 20px; }
  body.bca .e-con.carte-ensuite { --padding-top: 22px; --padding-right: 22px; --padding-bottom: 22px; --padding-left: 22px; border-radius: 20px; }
  body.bca .e-con.carte__texte--projet { --padding-left: 8px; --padding-right: 8px; --padding-bottom: 8px; }
}

/* Numéro de service sur mobile : intégré au titre */
@media (max-width: 767px) {
  body.bca .carte-service .numero-service { display: none; }
  body.bca .carte-service h3[data-n]::before { content: attr(data-n) " · "; }
}
