/*
Theme Name: Divi Child Weby Lab
Template: Divi
Version: 1.0
*/

/* Conteneurs Divi neutralises */
[class*="et_pb_section"],[class*="et_pb_row"],[class*="et_pb_column"],
[class*="et_pb_code"],[class*="et_pb_module"],.et_pb_code_inner{
  margin:0!important;padding:0!important;border:0!important;
  width:100%!important;max-width:100%!important;
}
[class*="et_pb_row"]{display:block!important;float:none!important}

/* Espacement automatique WordPress entre blocs */
.entry-content>*,.et_builder_inner_content>*,[class*="et_pb_column"]>*{margin:0!important}
.entry-content>*+*,[class*="et_pb_column"]>*+*{margin-block-start:0!important}

/* Conteneurs du theme */
#main-content .container,#page-container .container{width:100%!important;max-width:100%!important;padding:0!important}
#main-content{padding-top:0!important}
.entry-content{padding:0!important;margin:0!important}

/* Blancs entre modules.
   Divi laisse un noeud de texte entre deux modules Code. A la taille de police
   heritee, ce noeud produit une bande claire entre chaque section. On annule la
   taille sur les conteneurs, puis on la retablit sur le contenu des modules. */
[class*="et_pb_section"],[class*="et_pb_row"],[class*="et_pb_column"],
[class*="et_pb_code"],[class*="et_pb_module"],.et_pb_code_inner{
  font-size:0!important;line-height:0!important;gap:0!important;
  margin-block-start:0!important;margin-block-end:0!important;
}

/* Retablissement sur le contenu, sans dependre du prefixe du client.

   Cible TOUS les enfants directs sauf <style> et <script>. La version
   precedente ne visait que les <div> : un gabarit dont l'enfant direct est un
   <header> ou un <footer>, ce qui est le cas de l'en-tete et du pied du Theme
   Builder, heritait alors du font-size:0 des conteneurs et sortait invisible.
   Present dans le DOM, illisible a l'ecran. Mesure le 13 aout 2026.

   La restriction aux div existait pour ne pas rendre visible le bloc <style>
   du module 0. Elle n'a plus lieu d'etre : le module 0 est desormais masque en
   entier par la regle par contenu, plus bas.

   Pas de display:block ici. La version precedente le forcait, ce qui ecrasait
   le display:flex et le display:none des elements du gabarit, et faisait
   apparaitre la barre fixe mobile sur grand ecran. */
.et_pb_code_inner>*:not(style):not(script){font-size:16px!important;line-height:1.65!important}

/* Module 0, le bloc de styles de la page. Il ne porte rien de visible et ne
   doit pas occuper de hauteur.

   La regle vise le CONTENU, pas la position. La version precedente ciblait
   .et_pb_column>.et_pb_module:first-child, ce qui supposait que le module 0
   partage sa colonne avec les autres modules. Une page batie avec une colonne
   par module voyait alors TOUS ses modules ecrases a hauteur zero : HTML
   complet, validateur au vert, page entierement blanche, et rien pour le
   signaler. Mesure le 13 aout 2026 sur Pneus des 7 Chemins.

   Le selecteur ci-dessous dit exactement ce qu'on veut dire : un module dont le
   seul contenu est un bloc de styles ne s'affiche pas. Il est independant du
   rang, il survit a un reordonnancement, et il s'applique retroactivement aux
   sites existants sans toucher a leur contenu. */
.et_pb_module:has(> .et_pb_code_inner > style:only-child){display:none!important}
