/**
 * Sticky footer — pages plus courtes que le viewport.
 *
 * Markup Divi 5 + Theme Builder (constaté sur unsaproassmat.org) :
 *
 *   #page-container
 *     #et-boc.et-boc
 *       header.et-l.et-l--header          (absent si et-tb-header-disabled)
 *       #et-main-area
 *         #main-content                   (contenu de la page)
 *         footer.et-l.et-l--footer        (footer TB : ENFANT de #et-main-area)
 *       #unsa-cc-manage-bar               (flux, après le footer)
 *
 * Sans Theme Builder, le pied classique (#main-footer / #et-footer-area)
 * est aussi un enfant de #et-main-area.
 *
 * Pages courtes : min-height 100vh sur les wrappers + flex column ;
 * #et-main-area puis #main-content grandissent, le footer reste en bas.
 * Pages longues : min-height (pas height) — le document dépasse 100vh
 * et défile normalement, footer sous le contenu.
 *
 * Visual Builder (body.et-fb) exclu. Barre d’admin : 32px / 46px via
 * --wp-admin--admin-bar--height. Widgets en position:fixed (Support IGS,
 * bandeau cookies, bouton Parrainage) hors flux : non impactés.
 */

body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container,
body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > #et-boc {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
}

body.admin-bar.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container,
body.admin-bar.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > #et-boc {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
}

body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > #et-boc {
	flex: 1 0 auto;
}

body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > header.et-l--header,
body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > #et-boc > header.et-l--header,
body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > #main-header {
	flex: 0 0 auto;
	width: 100%;
}

body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #et-main-area {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	width: 100%;
}

body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #et-main-area > #main-content {
	flex: 1 0 auto;
	width: 100%;
}

body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #et-main-area > footer.et-l--footer,
body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #et-main-area > footer#main-footer,
body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #et-main-area > #main-footer,
body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #et-main-area > #et-footer-area {
	flex: 0 0 auto;
	margin-top: auto;
	width: 100%;
}

body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > #et-boc > #unsa-cc-manage-bar,
body.et_divi_theme:not(.et-fb):not(.et-fb-preview-active) #page-container > #unsa-cc-manage-bar {
	flex: 0 0 auto;
	width: 100%;
}
