/* ==========================================================================
   7 — PAGES VITRINE
   Classes utilisées dans les modules Divi natifs des pages éditoriales.
   Voir le cahier de construction homepage-cahier-divi.md
   ========================================================================== */

/* --- Grille produits de la homepage --- */
.lmd-packshot img{
  background: #fff;
  border: 1px solid var(--lmd-filet);
  aspect-ratio: 1/1;
  object-fit: contain;
  padding: 7%;
  width: 100%;
}
.lmd-produit-nom{
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 12px 0 0 !important;
  color: var(--lmd-bleu) !important;
}
.lmd-produit-marque{
  font-size: 10px !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lmd-dore-texte) !important;
  margin: 5px 0 0 !important;
  display: flex; align-items: center; gap: 7px;
}
.lmd-note{
  font-size: 14px !important;
  font-weight: 300;
  color: var(--lmd-bleu-600) !important;
  margin-top: 22px !important;
}

/* --- Signature du manifeste --- */
.lmd-signature{
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid var(--lmd-filet-clair);
}
.lmd-signature__nom{
  font-family: var(--lmd-display) !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  color: var(--lmd-creme) !important;
  margin: 0 !important;
}
.lmd-signature__role{
  font-size: 11px !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(246,241,231,.55) !important;
  margin: 6px 0 0 !important;
}

/* --- Image encadrée --- */
.lmd-image-cadre img{
  border: 1px solid var(--lmd-filet-clair);
  width: 100%;
}

/* --- Liste à filets dorés --- */
ul.lmd-liste{
  margin: 28px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid;
  gap: 15px;
}
ul.lmd-liste li{
  list-style: none !important;
  display: block;
  position: relative;
  font-size: 15px;
  font-weight: 300;
  color: var(--lmd-bleu-600);
  padding: 0 0 0 30px !important;
}
ul.lmd-liste li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .8em;
  width: 16px; height: 1px;
  background: var(--lmd-dore);
}

/* --- Crédit atelier --- */
.lmd-credit{
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--lmd-filet);
  display: flex;
  gap: 18px;
  align-items: center;
}
.lmd-credit img{
  width: 88px; height: 88px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 36% 26%;
  flex: none;
}
.lmd-credit__nom{
  font-family: var(--lmd-display) !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  margin: 0 !important;
  color: var(--lmd-bleu) !important;
}
.lmd-credit__role{
  font-size: 13px !important;
  font-weight: 300;
  color: var(--lmd-bleu-600) !important;
  margin: 2px 0 0 !important;
}

/* --- Promesse (devenir revendeur) --- */
.lmd-promesse{
  font-family: var(--lmd-display) !important;
  font-weight: 300 !important;
  font-size: clamp(22px, 2.2vw, 27px) !important;
  line-height: 1.35 !important;
  max-width: 44ch;
  color: var(--lmd-bleu) !important;
  margin-top: 18px !important;
}

/* --- Carrousels des trois marques (devenir revendeur) --- */
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel{
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_container,
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_track,
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_slide,
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_slide > .et_pb_group,
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_slide .et_pb_image,
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_slide .et_pb_image_wrap{
  height: 100% !important;
  min-height: 0 !important;
}
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_slide .et_pb_image_wrap{
  width: 100%;
}
.page-id-756 .et_pb_section:not(.lmd-devenir-hero) .et_pb_group_carousel_slide img{
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

/* --- Étapes numérotées --- */
.lmd-etapes.et_pb_row,
.et_pb_row:has(> .et_pb_column > .lmd-etape){
  align-items: flex-start !important;
}
.lmd-etapes.et_pb_row > .et_pb_column,
.et_pb_row:has(> .et_pb_column > .lmd-etape) > .et_pb_column{
  align-self: flex-start !important;
  justify-content: flex-start !important;
}
.lmd-etape{
  padding-top: 24px;
  border-top: 1px solid var(--lmd-filet);
  position: relative;
}
.lmd-etape::before{
  content: "";
  position: absolute;
  top: -3px; left: 0;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--lmd-dore);
}
.lmd-etape__num{
  font-size: 11px !important;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lmd-dore-texte) !important;
  font-variant-numeric: tabular-nums;
  margin: 0 !important;
}
.lmd-etape h3{
  font-family: var(--lmd-texte) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  margin: 10px 0 9px !important;
}
.lmd-etape p{
  font-size: 15px !important;
  font-weight: 300;
  color: var(--lmd-bleu-600) !important;
  margin: 0 !important;
}

/* --- Arguments --- */
.lmd-argument{
  background: var(--lmd-creme);
  border: 1px solid var(--lmd-filet);
  padding: clamp(24px, 2.8vw, 38px);
  height: 100%;
}
.lmd-argument h3{
  font-family: var(--lmd-texte) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  margin: 12px 0 9px !important;
}
.lmd-argument p{
  font-size: 15px !important;
  font-weight: 300;
  color: var(--lmd-bleu-600) !important;
  max-width: 44ch;
  margin: 0 !important;
}
.lmd-fort{ color: var(--lmd-dore-texte) !important; }

/* --- Sur fond bleu : inverser les couleurs de ces classes --- */
.lmd-section-bleue .lmd-produit-nom,
.lmd-section-bleue .lmd-credit__nom,
.lmd-section-bleue .lmd-promesse,
.lmd-section-bleue .lmd-etape h3,
.lmd-section-bleue .lmd-argument h3{ color: var(--lmd-creme) !important; }

.lmd-section-bleue .lmd-note,
.lmd-section-bleue ul.lmd-liste li,
.lmd-section-bleue .lmd-etape p,
.lmd-section-bleue .lmd-argument p,
.lmd-section-bleue .lmd-credit__role{ color: rgba(246,241,231,.8) !important; }

.lmd-section-bleue .lmd-surtitre,
.lmd-section-bleue .lmd-etape__num,
.lmd-section-bleue .lmd-produit-marque,
.lmd-section-bleue .lmd-fort{ color: var(--lmd-dore-clair) !important; }

.lmd-section-bleue .lmd-etape,
.lmd-section-bleue .lmd-credit,
.lmd-section-bleue .lmd-argument{ border-color: var(--lmd-filet-clair) !important; }

.lmd-section-bleue .lmd-argument{ background: transparent; }

/* --- Mobile --- */
@media (max-width: 767px){
  .lmd-credit{ margin-top: 26px; padding-top: 20px; }
  .lmd-credit img{ width: 72px; height: 72px; }
  .lmd-etape{ padding-top: 20px; padding-bottom: 4px; }
}

/* ==========================================================================
   PAGE 404
   Le modèle enfant évite la colonne d’articles/commentaires du Divi parent.
   Le texte reste volontairement générique : une référence non autorisée doit
   être aussi discrète qu’une adresse réellement inexistante.
   ========================================================================== */
.lmd-404{
  background: var(--lmd-creme);
}
.lmd-404__section{
  display: grid;
  min-height: 68vh;
  align-items: center;
  padding: var(--lmd-bloc) 0;
}
.lmd-404__interieur{
  width: 100%;
  max-width: var(--lmd-conteneur);
  margin: 0 auto;
  padding: 0 var(--lmd-marge);
}
.lmd-404__interieur h1{
  max-width: 16ch;
  margin: 10px 0 18px;
  font-size: clamp(42px,7vw,78px);
}
.lmd-404__texte{
  max-width: 58ch;
  margin: 0;
  color: var(--lmd-bleu-600);
  font-size: clamp(17px,1.6vw,20px);
}
.lmd-404__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}
.lmd-404__bouton{
  display: inline-flex;
  min-height: var(--lmd-tactile);
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border: 1px solid var(--lmd-bleu);
  border-radius: var(--lmd-rayon);
  font-family: var(--lmd-texte);
  font-size: 14px;
  font-weight: 500;
}
.lmd-404__bouton--principal{
  background: var(--lmd-bleu);
  color: var(--lmd-creme) !important;
}
.lmd-404__bouton--principal:hover,
.lmd-404__bouton--principal:focus-visible{
  background: var(--lmd-bleu-fonce);
  color: var(--lmd-creme) !important;
}
.lmd-404__bouton--secondaire{
  background: transparent;
  color: var(--lmd-bleu) !important;
}
.lmd-404__bouton--secondaire:hover,
.lmd-404__bouton--secondaire:focus-visible{
  background: var(--lmd-bleu);
  color: var(--lmd-creme) !important;
}

@media (max-width: 767px){
  .lmd-404__section{ min-height: 60vh; }
  .lmd-404__actions{ display: grid; }
  .lmd-404__bouton{ width: 100%; }
}

/* ==========================================================================
   HOMEPAGE — classes des modules Divi natifs
   Voir cahier-1-homepage.md
   ========================================================================== */

/* --- Mentions de rassurance sous le hero --- */
.lmd-rassure{
  display: flex; gap: 22px; flex-wrap: wrap;
  font-size: 14px !important;
  color: var(--lmd-bleu-600) !important;
  margin-top: 26px !important;
}
.lmd-rassure span{ display: flex; align-items: center; gap: 8px; }
.lmd-rassure span::before{
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--lmd-dore); flex: none;
}

/* --- Hero Devenir revendeur ---
   Divi 5 force height:100% sur l'image et son enveloppe lorsque la colonne
   voisine est plus haute. Le fichier 1000 x 1250 se retrouve alors étiré.
   Sur ordinateur, l'enveloppe porte le ratio 4:5 et l'image la remplit sans
   déformation. Le mobile conserve le comportement Divi déjà validé. */
@media (min-width: 981px){
  .lmd-devenir-hero .lmd-hero-photo{
    width: 100% !important;
    height: auto !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
  }
  .lmd-devenir-hero .lmd-hero-photo .et_pb_image_wrap{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
  }
  .lmd-devenir-hero .lmd-hero-photo img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
  }
}

/* --- Bandeau de preuve --- */
.lmd-chiffre-phare{
  font-family: var(--lmd-display) !important;
  font-weight: 600 !important;
  font-size: clamp(46px, 6vw, 80px) !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
  color: var(--lmd-creme) !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
}
.lmd-chiffre-l{
  font-size: 14px !important;
  color: rgba(246,241,231,.7) !important;
  margin-top: 6px !important;
  max-width: 20ch;
}
.lmd-refs{
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: space-between;
  gap: 10px 26px;
  align-items: center;
  width: 100%;
  font-size: 15px !important;
  color: rgba(246,241,231,.85) !important;
  margin: 0 !important;
}
.lmd-refs b{ font-weight: 500; }
.lmd-refs > br{ display: none; }
.lmd-refs > span:not(.lmd-refs__t){ white-space: nowrap; }
.lmd-refs__t{
  grid-column: 1 / -1;
  font-size: 12px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--lmd-dore-clair) !important;
  margin-bottom: 4px;
}

/* --- Cartes marque --- */
.lmd-marque-img img{
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border: 1px solid var(--lmd-filet);
}
.lmd-bar{
  display: block; width: 100%; height: 3px; margin: 18px 0 0;
}
.lmd-bar--lmd{ background: var(--lmd-marque-lmd); }
.lmd-bar--lsf{ background: var(--lmd-marque-lsf); }
.lmd-bar--ole{ background: var(--lmd-marque-ole); }
.lmd-marque-s{
  font-size: 13px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lmd-dore-texte) !important;
  margin-top: 7px !important;
  font-weight: 600;
}
.lmd-marque-d{
  font-size: 15px !important;
  font-weight: 300;
  color: var(--lmd-bleu-600) !important;
  margin-top: 12px !important;
}
.lmd-marque-l{
  display: inline-block;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--lmd-bleu) !important;
  border-bottom: 1px solid var(--lmd-dore);
  padding-bottom: 3px;
}
.lmd-marque-l:hover{ color: var(--lmd-dore-texte) !important; }

/* Aligne les appels à l'action des trois cartes, même si les textes
   n'occupent pas le même nombre de lignes. */
.lmd-marque-img + .et_pb_text{
  flex: 1 1 auto;
}
.lmd-marque-img + .et_pb_text .et_pb_text_inner{
  display: flex;
  flex-direction: column;
  width: 100%;
}
.lmd-marque-img + .et_pb_text .lmd-marque-l{
  align-self: flex-start;
  margin-top: auto;
}

/* --- Conditions commerciales : reprendre les proportions de la maquette --- */
.et_pb_section.lmd-section-claire{
  background: var(--lmd-creme-clair) !important;
  border-top: 1px solid var(--lmd-filet);
  border-bottom: 1px solid var(--lmd-filet);
  /* Divi 5 ajoute sinon 60 px entre chaque ligne, en plus des espacements
     prévus par la maquette sur .lmd-cles et le tableau détaillé. */
  --vertical-gap: 0px;
}
.et_pb_section.lmd-section-claire > .et_pb_row{
  max-width: 1240px !important;
}

/* Conditions commerciales — l'introduction et le bouton doivent reprendre
   exactement le bord gauche de la grille. La gouttière globale de 5vw reste
   utile sur mobile, mais elle créait ici un second retrait sur ordinateur. */
@media (min-width: 981px){
  .et_pb_section.lmd-section-claire > .et_pb_row:not(.lmd-cles){
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* --- Chiffres clés : grille sans espace, filets partagés --- */
.lmd-cles.et_pb_row{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  padding: 0 !important;
  background: var(--lmd-filet);
  border: 1px solid var(--lmd-filet);
  margin-top: 38px;
}
.lmd-cles.et_pb_row > .et_pb_column{
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  background: var(--lmd-creme);
  padding: clamp(22px, 2.6vw, 32px) !important;
  margin: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}
.lmd-cles .lmd-cle{
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
.lmd-cles .lmd-cle::before{
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 0 14px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 32px 32px;
}
.lmd-cles > .et_pb_column:nth-child(1) .lmd-cle::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%237F6639' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 11l10-5 10 5v10l-10 5-10-5z'/%3E%3Cpath d='M6 11l10 5 10-5M16 16v10'/%3E%3C/svg%3E");
}
.lmd-cles > .et_pb_column:nth-child(2) .lmd-cle::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%237F6639' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M26 16a10 10 0 1 1-3-7.1'/%3E%3Cpath d='M26 5v6h-6'/%3E%3C/svg%3E");
}
.lmd-cles > .et_pb_column:nth-child(3) .lmd-cle::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%237F6639' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h13V9H3zM16 13h7l4 4v3H16z'/%3E%3Ccircle cx='9' cy='23' r='2.6'/%3E%3Ccircle cx='22' cy='23' r='2.6'/%3E%3C/svg%3E");
}
.lmd-cles > .et_pb_column:nth-child(4) .lmd-cle::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%237F6639' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='16' r='12'/%3E%3Cpath d='M16 9v7l5 3'/%3E%3C/svg%3E");
}
.lmd-cle__n{
  font-family: var(--lmd-display) !important;
  font-weight: 600 !important;
  font-size: clamp(32px, 4vw, 46px) !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
  margin: 0 !important;
  padding: 0 !important;
}
.lmd-cle__t{
  font-family: var(--lmd-display) !important;
  font-weight: 600 !important;
  font-size: clamp(22px, 2.35vw, 28px) !important;
  line-height: 1.05 !important;
  color: var(--lmd-bleu) !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
}
.lmd-cle__l{
  font-size: 14px !important;
  color: var(--lmd-bleu-600) !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  max-width: 24ch;
}
.lmd-section-claire .lmd-cles .et_pb_column{ background: var(--lmd-creme); }

/* --- Conditions commerciales détaillées ---
   Une classe de ligne dédiée évite de modifier les autres lignes Divi et
   reprend exactement les limites horizontales de la grille de chiffres. */
.lmd-conditions-detaillees-ligne.et_pb_row{
  margin-top: 34px !important;
  padding: 0 !important;
}
.lmd-conditions-detaillees-ligne.et_pb_row > .et_pb_column{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.lmd-conditions-detaillees{
  width: 100%;
  margin: 0;
  border-top: 1px solid var(--lmd-filet-fort);
}
.lmd-condition{
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 20px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--lmd-filet);
}
.lmd-condition__titre{
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: var(--lmd-bleu);
  font-family: var(--lmd-texte);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.lmd-condition__icone{
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  fill: none;
  stroke: var(--lmd-dore-texte);
  stroke-width: 1.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.lmd-condition__texte{
  margin: 0;
  color: var(--lmd-bleu-600);
  font-family: var(--lmd-texte);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
}
.lmd-condition__texte strong{
  color: var(--lmd-bleu);
  font-weight: 500;
}

@media (max-width: 980px){
  .lmd-cles.et_pb_row{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .lmd-condition{
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .lmd-refs{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }
  .lmd-refs > span:not(.lmd-refs__t){ white-space: normal; }
}

@media (max-width: 767px){
  /* La ligne détaillée n'hérite pas toujours de la largeur mobile des lignes
     Divi 5. On rétablit la gouttière de 20 px de chaque côté. */
  .lmd-conditions-detaillees-ligne.et_pb_row{
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .lmd-cles.et_pb_row{
    grid-template-columns: 1fr !important;
  }
  .lmd-cles.et_pb_row > .et_pb_column{
    padding: 22px !important;
  }
  .lmd-cles .lmd-cle{
    display: block !important;
  }
  .lmd-cles .lmd-cle .et_pb_text_inner{
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "number title"
      "copy copy";
    align-items: end;
    column-gap: 16px;
  }
  .lmd-cles .lmd-cle::before{
    margin-bottom: 14px;
  }
  .lmd-cles .lmd-cle__n{ grid-area: number; }
  .lmd-cles .lmd-cle__t{
    grid-area: title;
    font-size: 24px !important;
    margin: 0 !important;
    padding-bottom: 2px !important;
  }
  .lmd-cles .lmd-cle__l{
    grid-area: copy;
    max-width: none;
    margin-top: 14px !important;
  }
  .lmd-rassure{ gap: 12px; }
  .lmd-refs{ gap: 8px 18px; }
}

/* ==========================================================================
   HOMEPAGE — CORRECTIONS MOBILE
   Divi 5 conserve sur certaines lignes les largeurs et espacements saisis
   pour le bureau. La page d'accueil repasse ici sur une vraie colonne mobile.
   ========================================================================== */
@media (max-width: 767px){
  .page-id-635 .et-l--post > .et_builder_inner_content > .et_pb_section{
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .page-id-635 .et-l--post .et_pb_section > .et_pb_row:not(.lmd-cles){
    display: flex !important;
    flex-wrap: wrap !important;
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    row-gap: 40px !important;
  }

  .page-id-635 .et-l--post .et_pb_section > .et_pb_row:not(.lmd-cles) > .et_pb_column{
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Bandeau de preuve : chiffre centré puis références en grille 2 × 2. */
  .page-id-635 .et_pb_section:has(.lmd-chiffre-phare){
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
  .page-id-635 .et_pb_section:has(.lmd-chiffre-phare) .et_pb_column:first-child{
    align-items: center !important;
    text-align: center;
  }
  .page-id-635 .lmd-chiffre-l{
    max-width: 24ch;
    text-align: center;
  }
  .page-id-635 .lmd-refs{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 22px;
    width: 100%;
  }
  .page-id-635 .lmd-refs__t{
    text-align: center;
    margin-bottom: 2px;
  }
  .page-id-635 .lmd-refs > span:not(.lmd-refs__t){
    text-align: left;
    white-space: normal;
  }

  /* Sections éditoriales : rythme et largeur de lecture adaptés au téléphone. */
  .page-id-635 #marques h2{
    font-size: 34px !important;
    line-height: 1.04 !important;
  }
  .page-id-635 #marques .et_pb_row + .et_pb_row{
    margin-top: 4px !important;
  }
  .page-id-635 #marques .et_pb_text p:not(.lmd-surtitre),
  .page-id-635 .et_pb_section:has(.lmd-contact) .et_pb_column:first-child .et_pb_text p:not(.lmd-surtitre){
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  /*
   * Contact : Divi conserve ici un retrait gauche de 55 px défini pour la
   * tablette. Il réduit la largeur utile et décale toute la ligne sur mobile.
   */
  .page-id-635 .et-l--post .et_pb_section:has(.lmd-contact){
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Contact : deux colonnes réellement empilées et carte plus compacte. */
  .page-id-635 .et_pb_section:has(.lmd-contact) .et_pb_row{
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: stretch !important;
    row-gap: 36px !important;
  }
  .page-id-635 .et_pb_section:has(.lmd-contact) .et_pb_column{
    align-items: stretch !important;
  }
  .page-id-635 .lmd-contact{
    width: 100% !important;
    padding: 22px 20px !important;
    gap: 16px !important;
  }
  .page-id-635 .lmd-contact__photo{
    width: 96px !important;
    height: 96px !important;
  }
  .page-id-635 .lmd-contact__nom{
    font-size: 28px !important;
  }
}

/* ==========================================================================
   PIED DE PAGE GLOBAL
   Classes Divi : lmd-section-bleue lmd-footer sur la section,
   lmd-footer-menu sur les trois modules de navigation et
   lmd-footer-bas sur la ligne des mentions légales.
   ========================================================================== */

.lmd-footer.et_pb_section{
  padding: 72px 0 28px !important;
}

/* Divi applique aux paragraphes et aux liens ses couleurs globales : le
   footer reprend donc explicitement la hiérarchie prévue par la maquette. */
.lmd-footer .lmd-footer-menu,
.lmd-footer .lmd-footer-menu p{
  color: rgba(246,241,231,.82) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
}
.lmd-footer .lmd-footer-menu p{
  margin: 0 !important;
}
.lmd-footer .lmd-footer-menu p:first-child{
  margin-bottom: 14px !important;
}
.lmd-footer .lmd-footer-menu strong{
  display: block;
  color: var(--lmd-dore-clair) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
  white-space: nowrap;
}
.lmd-footer .lmd-footer-menu a{
  color: rgba(246,241,231,.86) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.lmd-footer .lmd-footer-menu a:hover{
  color: var(--lmd-dore-clair) !important;
}

/* La ligne basse reste compacte, même si l'éditeur Divi a conservé des
   paragraphes séparés autour des liens et des points médians. */
.lmd-footer .lmd-footer-bas.et_pb_row{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px 40px !important;
  width: 84% !important;
  max-width: 1440px !important;
  margin: 44px auto 0 !important;
  padding: 24px 0 0 !important;
  border-top: 1px solid rgba(246,241,231,.18);
  min-height: 0 !important;
  height: auto !important;
}
.lmd-footer .lmd-footer-bas.et_pb_row > .et_pb_column{
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: 0 !important;
}
.lmd-footer .lmd-footer-bas .et_pb_text{
  margin: 0 !important;
}
.lmd-footer .lmd-footer-bas .et_pb_text_inner{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: .55em;
  row-gap: .2em;
}
.lmd-footer .lmd-footer-bas .et_pb_column:last-child,
.lmd-footer .lmd-footer-bas .et_pb_column:last-child .et_pb_text_inner{
  justify-self: end;
  justify-content: flex-end;
  text-align: right;
}
.lmd-footer .lmd-footer-bas .et_pb_column:last-child .et_pb_text_inner > p{
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  column-gap: .55em;
  row-gap: .2em;
}
.lmd-footer .lmd-footer-bas .et_pb_column:last-child br{
  display: none !important;
}
.lmd-footer .lmd-footer-bas p,
.lmd-footer .lmd-footer-bas a,
.lmd-footer .lmd-footer-bas span{
  color: rgba(246,241,231,.58) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
.lmd-footer .lmd-footer-bas a{
  white-space: nowrap;
}
.lmd-footer .lmd-footer-bas a:hover{
  color: var(--lmd-dore-clair) !important;
}
.lmd-footer .lmd-footer-bas span{
  opacity: .65;
}

@media (max-width: 980px){
  .lmd-footer .lmd-footer-menu strong{
    white-space: normal;
  }
  .lmd-footer .lmd-footer-menu a{
    white-space: normal;
  }
  .lmd-footer .lmd-footer-bas.et_pb_row{
    width: calc(100% - var(--lmd-marge) - var(--lmd-marge)) !important;
  }
}

@media (max-width: 767px){
  .lmd-footer.et_pb_section{
    padding: 48px 0 24px !important;
  }
  .lmd-footer .lmd-footer-menu{
    margin-top: 8px !important;
  }
  .lmd-footer .lmd-footer-menu p:first-child{
    margin-bottom: 10px !important;
  }
  .lmd-footer .lmd-footer-bas.et_pb_row{
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 32px !important;
    padding-top: 20px !important;
  }
  .lmd-footer .lmd-footer-bas .et_pb_column:last-child,
  .lmd-footer .lmd-footer-bas .et_pb_column:last-child .et_pb_text_inner{
    justify-self: start;
    justify-content: flex-start;
    text-align: left;
  }
  .lmd-footer .lmd-footer-bas .et_pb_column:last-child .et_pb_text_inner > p{
    justify-content: flex-start;
  }
}
