/* ==========================================================================
   Raccord Divi / design system EEXISTE
   --------------------------------------------------------------------------
   Divi charge ses propres styles de base (police, tailles, marges des
   sections). Cette feuille :
     1. retablit les reglages du design system la ou Divi les ecrase ;
     2. rend transparentes les sections et rangees Divi qui portent une
        section EEXISTE, pour un rendu identique au pixel pres ;
     3. habille les modules natifs de Divi aux couleurs de la charte.

   Les selecteurs sont prefixes par `body.ee-divi` : juste assez specifiques
   pour passer devant Divi, sans `!important` sauf la ou Divi en met lui-meme.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Socle typographique
   -------------------------------------------------------------------------- */

body.ee-divi {
	font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.7;
	color: #212529;
	background-color: #fafbfa;
}

body.ee-divi #page-container,
body.ee-divi #et-main-area,
body.ee-divi #main-content {
	background-color: transparent;
}

/*
 * Divi reserve en haut de page la place de SON en-tete (80 px sur mobile, et
 * un calcul en JavaScript sur ordinateur). L'en-tete EEXISTE est « collant » :
 * il occupe deja sa place dans le flux, aucune reserve n'est necessaire.
 * `!important` : Divi ecrit aussi cette marge directement sur l'element.
 */
body.ee-divi #page-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   2. Zones EEXISTE : en-tete, sections, pied de page
   --------------------------------------------------------------------------
   Divi remet a zero les bordures de toutes les balises (`div { border: 0 }`,
   donc `border-style: none`). Le design system, lui, pose `border-style:
   solid` sur `*` : une regle moins specifique, que Divi ecrase. Resultat :
   plus aucune bordure fine (cartes, separateurs, en-tete).

   Les regles ci-dessous retablissent les valeurs de base du design system.
   `:where()` ne compte pas dans la specificite : chaque regle pese le poids
   d'une simple balise. Elle passe donc devant la remise a zero de Divi
   (meme poids, chargee avant) mais reste derriere toutes les classes
   utilitaires, comme dans le theme d'origine.
   -------------------------------------------------------------------------- */

:where(.ee-topbar, .ee-header, .ee-block-root, .ee-footer, .ee-skip-link) :is(a, abbr, acronym, address, applet, b, big, blockquote, body, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tt, u, ul, var),
div:where(.ee-topbar),
header:where(.ee-header),
footer:where(.ee-footer) {
	border-style: solid;
	border-color: #e5e7eb;
}

/* Divi ajoute un espace sous chaque titre et chaque paragraphe. */
:where(.ee-topbar, .ee-header, .ee-block-root, .ee-footer) :is(h1, h2, h3, h4, h5, h6, p) {
	padding-bottom: 0;
}

/* Citations : Divi leur donne un filet et un retrait. */
:where(.ee-block-root) blockquote {
	margin: 0;
	padding-left: 0;
	border-left-width: 0;
}

/* --------------------------------------------------------------------------
   3. Sections et rangees Divi qui portent une section EEXISTE
   --------------------------------------------------------------------------
   La section EEXISTE gere elle-meme ses fonds, marges et largeurs : la
   section, la rangee et la colonne Divi qui l'entourent deviennent
   transparentes. La regle s'applique aussi a une section EEXISTE glissee
   dans une rangee ordinaire.
   -------------------------------------------------------------------------- */

body.ee-divi .et_pb_section:has(> .et_pb_row > .et_pb_column > .ee-block-root),
body.ee-divi .et_pb_section.ee-dv-section {
	padding: 0;
	background-color: transparent;
}

body.ee-divi .et_pb_row:has(> .et_pb_column > .ee-block-root),
body.ee-divi .et_pb_row.ee-dv-row {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}

body.ee-divi .et_pb_column:has(> .ee-block-root) {
	width: 100%;
	margin: 0;
	float: none;
	/*
	 * Divi donne `z-index: 2` a chaque colonne, ce qui enferme leur contenu :
	 * les fiches en surimpression (missions, parcours) resteraient sous
	 * l'en-tete collant. Sans z-index, elles passent au premier plan comme
	 * dans le theme d'origine.
	 */
	z-index: auto;
}

/* Meme raison : le conteneur general du contenu Divi porte `z-index: 1`. */
body.ee-divi .et_builder_inner_content:has(.ee-block-root) {
	z-index: auto;
}

/* --------------------------------------------------------------------------
   4. Visual Builder
   --------------------------------------------------------------------------
   Les sections apparaissent au defilement (classe `.ee-reveal`, revelee par
   main.js). Dans le Visual Builder, Divi insere les sections apres coup : le
   script ne les voit pas. On les affiche donc d'emblee.
   -------------------------------------------------------------------------- */

body.et-fb .ee-reveal,
html.et-fb-app-frame .ee-reveal,
.et-fb-root-ancestor .ee-reveal {
	opacity: 1 !important;
	transform: none !important;
}
