/*
 * FLUENT COMMUNITY — Surcharge CSS (Prompt #3)
 *
 * Objectif : rendre le portail /portal/* visuellement indistinguable
 * du dashboard. Notre sidebar + topbar sont injectés dans .fcom_wrap
 * via le hook before_portal_dom. CSS Grid gère le layout.
 *
 * Sections :
 *  0. Layout shell (grid)  1. Typography  2. Body  3. Top nav (masquée)
 *  4. Left sidebar Fluent (masquée)  5. Feed/cartes  6. Right panel
 *  7. Boutons  8. Liens  9. Formulaires  10-18. Divers
 */

/* ============================================================================
   0. LAYOUT SHELL — CSS Grid portail
   Override la structure de .fcom_wrap pour intégrer notre sidebar + topbar.
   ============================================================================ */

/* Body en mode portail */
body.azl-portal {
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden !important;
	background: var(--azl-neutral-50, #F8FAFC) !important;
}

/*
 * Fluent native shell — admin (/portal/admin/*) + color customizer.
 * #fcom_customizer_panel est fixed left:0 / 350px sans z-index.
 * Notre sidebar (z-index 200) masquait ces UIs — on désactive le shell AZL
 * et on réaffiche la navigation Fluent native (.fcom_top_menu / .spaces).
 */
body.azl-portal.azl-fcom-native-shell .fcom_wrap > .azl-sidebar,
body.azl-portal.azl-fcom-native-shell .fcom_wrap > .azl-topbar,
body.azl-portal.azl-fcom-native-shell .azl-app__overlay {
	display: none !important;
}

body.azl-portal.azl-fcom-native-shell .fcom_wrap {
	display: block !important;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
	position: relative !important;
	min-height: 100vh !important;
}

body.azl-portal.azl-fcom-native-shell .fcom_wrap > .fluent_com {
	grid-column: auto !important;
	grid-row: auto !important;
}

/* Réactiver header Fluent admin (bandeau titre). */
body.azl-portal.azl-fcom-native-shell .fcom_top_menu {
	visibility: visible !important;
	opacity: 1 !important;
	position: sticky !important;
	top: 0 !important;
	background: var(--fcom-primary-bg, #ffffff) !important;
	border-bottom: 1px solid var(--fcom-primary-border, #e2e8f0) !important;
	overflow: hidden !important;
	z-index: 101 !important;
}

body.azl-portal.azl-fcom-native-shell.admin-bar .fcom_top_menu {
	top: 32px !important;
}

/* Annuler le forçage teal AZL sur les boutons du header admin */
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .el-button,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .fcom_btn,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .fcom_menu_button,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .top_menu_right button {
	background: transparent !important;
	background-color: transparent !important;
	border-color: var(--fcom-primary-border, #e2e8f0) !important;
	color: var(--fcom-menu-text, #545861) !important;
	box-shadow: none !important;
}

body.azl-portal.azl-fcom-native-shell .fcom_top_menu .el-button:hover,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .fcom_btn:hover,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .fcom_menu_button:hover,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .top_menu_right button:hover {
	background: var(--fcom-light-bg, #f1f5f9) !important;
	color: var(--fcom-primary-text, #0f172a) !important;
}

body.azl-portal.azl-fcom-native-shell .fcom_top_menu .fcom_menu_link,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .fcom_compt_link,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu a,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .top_menu_right svg,
body.azl-portal.azl-fcom-native-shell .fcom_top_menu .top_menu_right i {
	color: var(--fcom-menu-text, #545861) !important;
	background: transparent !important;
}

body.azl-portal.azl-fcom-native-shell .fcom_top_menu .customizer_menu_item a {
	background: #ffffff !important;
	border: 1px solid var(--fcom-text-link, #1e95b0) !important;
	color: var(--fcom-text-link, #1e95b0) !important;
	border-radius: 8px !important;
	padding: 6px 12px !important;
}

/*
 * Sidebar Fluent : .spaces reste top:0, mais .space_contents est fixed
 * SOUS le header (var --fcom-header-height). Ne pas forcer top:0 / height:auto
 * sur .space_contents — ça faisait dépasser le titre sous le header sticky.
 */
body.azl-portal.azl-fcom-native-shell .feed_layout > .spaces,
body.azl-portal.azl-fcom-native-shell .spaces {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 280px !important;
	max-width: 280px !important;
	height: 100% !important;
	z-index: 99 !important;
	background: var(--fcom-primary-bg, #ffffff) !important;
	border-right: 1px solid var(--fcom-primary-border, #e2e8f0) !important;
	transform: none !important;
}

body.azl-portal.azl-fcom-native-shell .spaces .space_contents,
body.azl-portal.azl-fcom-native-shell #fluent_community_sidebar_menu {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
	opacity: 1 !important;
	position: fixed !important;
	left: 0 !important;
	top: var(--fcom-header-height, 64px) !important;
	width: 280px !important;
	height: calc(100vh - var(--fcom-header-height, 64px)) !important;
	max-height: calc(100dvh - var(--fcom-header-height, 64px)) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	transform: none !important;
	z-index: 99 !important;
	background: var(--fcom-primary-bg, #ffffff) !important;
}

body.azl-portal.azl-fcom-native-shell.admin-bar .spaces .space_contents,
body.azl-portal.azl-fcom-native-shell.admin-bar #fluent_community_sidebar_menu {
	top: calc(var(--fcom-header-height, 64px) + 32px) !important;
	height: calc(100vh - var(--fcom-header-height, 64px) - 32px) !important;
	max-height: calc(100dvh - var(--fcom-header-height, 64px) - 32px) !important;
}

body.azl-portal.azl-fcom-native-shell #fcom_menu_sidebar,
body.azl-portal.azl-fcom-native-shell #fcom_sidebar_wrap {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	pointer-events: auto !important;
}

body.azl-portal.azl-fcom-native-shell .feed_layout .spaces h4,
body.azl-portal.azl-fcom-native-shell .feed_layout .spaces .fcom_section_title,
body.azl-portal.azl-fcom-native-shell .feed_layout .spaces .space_section_title,
body.azl-portal.azl-fcom-native-shell .feed_layout .spaces .group_label {
	color: var(--fcom-primary-text, #0f172a) !important;
	text-transform: none !important;
	font-size: inherit !important;
	letter-spacing: normal !important;
}

body.azl-portal.azl-fcom-native-shell .feed_layout .spaces a,
body.azl-portal.azl-fcom-native-shell .feed_layout .spaces .fcom_menu_link,
body.azl-portal.azl-fcom-native-shell .feed_layout .spaces .fcom_route,
body.azl-portal.azl-fcom-native-shell .feed_layout .spaces .community_name {
	color: var(--fcom-menu-text, #545861) !important;
	background: transparent !important;
	border-left: none !important;
}

body.azl-portal.azl-fcom-native-shell .feed_layout .spaces a:hover,
body.azl-portal.azl-fcom-native-shell .feed_layout .spaces .fcom_menu_link:hover {
	color: var(--fcom-primary-text, #0f172a) !important;
	background: var(--fcom-light-bg, #f1f5f9) !important;
}

body.azl-portal.azl-fcom-native-shell .feed_layout {
	padding-left: 280px !important;
	grid-template-columns: unset !important;
	position: relative !important;
}

/*
 * Les headers de section admin (.fhr_content_layout_header) doivent se
 * coller SOUS le bandeau — pas derrière (surtout avec la barre WP admin).
 */
body.azl-portal.azl-fcom-native-shell {
	overflow-x: clip !important;
}

body.azl-portal.azl-fcom-native-shell .fcom_setting_route .fhr_content_layout_header,
body.azl-portal.azl-fcom-native-shell .fcom_sticky_header .fhr_content_layout_header,
body.azl-portal.azl-fcom-native-shell .fhr_content_layout .fhr_content_layout_header {
	top: var(--fcom-header-height, 64px) !important;
	z-index: 90 !important;
}

body.azl-portal.azl-fcom-native-shell.admin-bar .fcom_setting_route .fhr_content_layout_header,
body.azl-portal.azl-fcom-native-shell.admin-bar .fcom_sticky_header .fhr_content_layout_header,
body.azl-portal.azl-fcom-native-shell.admin-bar .fhr_content_layout .fhr_content_layout_header {
	top: calc(var(--fcom-header-height, 64px) + 32px) !important;
}

@media screen and (max-width: 782px) {
	body.azl-portal.azl-fcom-native-shell.admin-bar .fcom_top_menu {
		top: 46px !important;
	}

	body.azl-portal.azl-fcom-native-shell.admin-bar .fcom_setting_route .fhr_content_layout_header,
	body.azl-portal.azl-fcom-native-shell.admin-bar .fcom_sticky_header .fhr_content_layout_header,
	body.azl-portal.azl-fcom-native-shell.admin-bar .fhr_content_layout .fhr_content_layout_header {
		top: calc(var(--fcom-header-height, 64px) + 46px) !important;
	}

	body.azl-portal.azl-fcom-native-shell.admin-bar .spaces .space_contents,
	body.azl-portal.azl-fcom-native-shell.admin-bar #fluent_community_sidebar_menu {
		top: calc(var(--fcom-header-height, 64px) + 46px) !important;
		height: calc(100vh - var(--fcom-header-height, 64px) - 46px) !important;
		max-height: calc(100dvh - var(--fcom-header-height, 64px) - 46px) !important;
	}
}

body.azl-portal.azl-fcom-native-shell .fcom_wrap > .fluent_com {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.azl-portal.azl-fcom-customizer #fcom_customizer_panel {
	z-index: 100000 !important;
}

body.azl-portal.azl-fcom-customizer.admin-bar #fcom_customizer_panel {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.azl-portal.azl-fcom-customizer.admin-bar #fcom_customizer_panel {
		top: 46px !important;
	}
}

/*
 * Barre admin — la topbar portail suit le flux comme l’accueil / trousse
 * (pas de sticky top:32px + margin-bottom:32px = bande vide au-dessus
 * du moteur de recherche). html a déjà margin-top pour #wpadminbar.
 */
body.azl-portal.admin-bar .fcom_wrap > .azl-topbar {
	top: auto !important;
	margin-bottom: 0 !important;
}

body.azl-portal.admin-bar.azl-portal-community .fcom_wrap > .azl-topbar {
	margin-bottom: 0 !important;
}

@media screen and (max-width: 782px) {
	body.azl-portal.admin-bar .fcom_wrap > .azl-topbar {
		top: auto !important;
		margin-bottom: 0 !important;
	}
}

#wpadminbar {
	z-index: 99999 !important;
}

/* Lien « Éditer la leçon » : masqué hors page leçon (SPA). */
#wpadminbar #wp-admin-bar-azl-edit-lesson.azl-adminbar-edit-lesson--hidden {
	display: none !important;
}

/*
 * Éditeur Gutenberg Fluent (.fcom_full_editor) : fixed top:0 / z-index 999.
 * La barre admin (z-index 99999) le recouvrait — on le décale sous la barre.
 */
body.admin-bar .fcom_full_editor {
	top: 32px !important;
	bottom: 0 !important;
	height: auto !important;
}

body.admin-bar .fcom_full_editor .fcom_full_editor_main,
body.admin-bar .fcom_full_editor .fcom_full_editor_side.lockscreen_editor {
	height: calc(100vh - 60px - 32px) !important;
	max-height: calc(100vh - 60px - 32px) !important;
}

body.admin-bar .fcom_full_editor .iframe-container iframe,
body.admin-bar .fcom_full_editor .editor-container iframe {
	height: calc(100vh - 60px - 32px) !important;
	max-height: calc(100vh - 60px - 32px) !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .fcom_full_editor {
		top: 46px !important;
	}

	body.admin-bar .fcom_full_editor .fcom_full_editor_main,
	body.admin-bar .fcom_full_editor .fcom_full_editor_side.lockscreen_editor,
	body.admin-bar .fcom_full_editor .iframe-container iframe,
	body.admin-bar .fcom_full_editor .editor-container iframe {
		height: calc(100vh - 60px - 46px) !important;
		max-height: calc(100vh - 60px - 46px) !important;
	}
}

/* .fcom_wrap devient notre shell à 2 colonnes */
body.azl-portal .fcom_wrap {
	display: grid !important;
	grid-template-columns: var(--azl-layout-sidebar-width, 238px) minmax(0, 1fr) !important;
	/* max-content : la ligne topbar / footer ne s’étire pas (plus de bandes vides) */
	grid-template-rows: max-content auto max-content !important;
	align-items: start !important;
	min-height: 100vh !important;
	height: auto !important;
	max-height: none !important;
	background: var(--azl-bg, var(--azl-neutral-50, #f4f5f7)) !important;
}

/*
 * Réserve la colonne gauche même si la sidebar est position:fixed
 * (sinon topbar / feed / widgets tombent en col 1 et passent sous la barre).
 * Même pattern que body.azl-app .azl-app__shell::before (layout.css).
 */
body.azl-portal .fcom_wrap::before {
	content: "" !important;
	grid-column: 1 !important;
	grid-row: 1 / -1 !important;
	width: var(--azl-layout-sidebar-width, 238px) !important;
	min-height: 1px !important;
	pointer-events: none !important;
}

/*
 * Sidebar portail = même shell fixe viewport que l’accueil / maquette.
 * fixed (pas sticky) : évite la bande blanche (html margin-top admin-bar
 * + top:32px sticky = double décalage).
 */
body.azl-portal .fcom_wrap > .azl-sidebar {
	grid-column: 1 !important;
	grid-row: 1 / -1 !important;
	align-self: start !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	width: var(--azl-layout-sidebar-width, 238px) !important;
	height: 100vh !important;
	max-height: 100vh !important;
	min-height: 0 !important;
	overflow: hidden !important;
	z-index: 200 !important;
	background: var(--azl-sidebar-bg, #16191d) !important;
	border-right: none !important;
	color: var(--azl-sidebar-text, #ffffff) !important;
	box-sizing: border-box !important;
}

body.azl-portal.admin-bar .fcom_wrap > .azl-sidebar {
	top: 32px !important;
	height: calc(100vh - 32px) !important;
	max-height: calc(100vh - 32px) !important;
}

@media screen and (max-width: 782px) {
	body.azl-portal.admin-bar .fcom_wrap > .azl-sidebar {
		top: 46px !important;
		height: calc(100vh - 46px) !important;
		max-height: calc(100vh - 46px) !important;
	}
}

body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__content {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__footer {
	flex: 0 0 auto !important;
	margin-top: auto !important;
	padding-bottom: 12px !important;
}

/* Notre topbar → colonne 2, ligne 1 (même look que accueil / trousse) */
body.azl-portal .fcom_wrap > .azl-topbar {
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: stretch !important;
	align-self: start !important;
	position: relative !important;
	top: auto !important;
	z-index: 150 !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	box-sizing: border-box !important;
	/* Compact : évite les « bandes vides » autour du moteur de recherche */
	min-height: 0 !important;
	padding: 8px var(--azl-layout-page-padding-x, 30px) !important;
	margin: 0 !important;
	align-items: center !important;
}

body.azl-portal .fcom_wrap > .azl-topbar .azl-topbar__search input {
	min-height: 44px !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

/* #wpadminbar / overlay injectés dans .fcom_wrap : hors flux de grille */
body.azl-portal .fcom_wrap > #wpadminbar {
	position: fixed !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	align-self: start !important;
	width: 100% !important;
	z-index: 99999 !important;
}

body.azl-portal .fcom_wrap > .azl-app__overlay {
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	align-self: start !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Conteneur Fluent → colonne 2, ligne 2+ — pleine largeur */
body.azl-portal .fcom_wrap > .fluent_com {
	grid-column: 2 !important;
	grid-row: 2 !important;
	justify-self: stretch !important;
	min-width: 0 !important;
	width: 100% !important;
	height: auto !important;
	overflow: visible !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}

/*
 * Scroll document (comme accueil / trousse), pas scroll interne Fluent.
 * Fluent force height:100dvh !important via #fluent_comminity_body … —
 * il faut battre cette spécificité, sinon overflow:visible + 100dvh
 * coupe le bas de page et bloque l’ascenseur.
 */
body.azl-portal .fcom_wrap {
	grid-template-rows: max-content auto max-content !important;
	align-items: start !important;
	height: auto !important;
	max-height: none !important;
}

/* Pied de page AZL — colonne contenu, sous Fluent */
body.azl-portal .fcom_wrap > .azl-footer {
	grid-column: 2 !important;
	grid-row: 3 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin-top: 0 !important;
}

body.azl-portal,
html:has(body.azl-portal) {
	height: auto !important;
	max-height: none !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

body.azl-portal .fcom_wrap > .fluent_com,
body.azl-portal .fluent_com,
body.azl-portal #fluent_com_portal {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

body.azl-portal .feed_layout,
body.azl-portal .fcom_wp_frame .feed_layout,
body.azl-portal .fluent_com_wp_pages .feed_layout,
body.azl-portal .fhr_content_layout,
body.azl-portal .feeds_main {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

body.azl-portal .fhr_content_layout > .el-scrollbar,
body.azl-portal .fhr_content_layout .el-scrollbar,
body.azl-portal .fhr_content_layout > .el-scrollbar > .el-scrollbar__wrap,
body.azl-portal .fhr_content_layout > .el-scrollbar > .el-scrollbar__wrap > .el-scrollbar__view,
body.azl-portal #fluent_comminity_body .feed_layout .fhr_content_layout .el-scrollbar,
body.azl-portal #fluent_comminity_body .feed_layout .fhr_content_layout .el-scrollbar > .el-scrollbar__wrap,
body.azl-portal #fluent_comminity_body .feed_layout .fhr_content_layout .el-scrollbar > .el-scrollbar__wrap > .el-scrollbar__view,
body.azl-portal #fluent_comminity_body .feed_layout .fcom_full_screen .fhr_content_layout .el-scrollbar,
body.azl-portal #fluent_comminity_body .feed_layout .fcom_full_screen .fhr_content_layout .el-scrollbar > .el-scrollbar__wrap,
body.azl-portal #fluent_comminity_body .feed_layout .fcom_full_screen .fhr_content_layout .el-scrollbar > .el-scrollbar__wrap > .el-scrollbar__view {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	position: static !important;
}

body.azl-portal .el-scrollbar__bar {
	display: none !important;
}

/* Script tag injecté par JS — ne prend pas d'espace */
body.azl-portal .fcom_wrap > script {
	display: none !important;
}

/* ============================================================================
   0b. PORTAIL — Responsive mobile / tablette
   ============================================================================ */

@media (max-width: 1023px) {
	body.azl-portal .fcom_wrap {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.azl-portal .fcom_wrap::before {
		display: none !important;
		width: 0 !important;
	}

	body.azl-portal .fcom_wrap > .azl-sidebar {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: min(90vw, 300px) !important;
		height: 100vh !important;
		min-height: 0 !important;
		max-height: 100vh !important;
		transform: translateX(-110%) !important;
		transition: transform var(--azl-transition-base, 0.2s ease) !important;
		z-index: var(--azl-z-modal, 1000) !important;
		overflow: hidden !important;
	}

	body.azl-portal.admin-bar .fcom_wrap > .azl-sidebar {
		top: 0 !important;
		height: 100vh !important;
		max-height: 100vh !important;
	}

	body.azl-portal.azl-sidebar-open .fcom_wrap > .azl-sidebar {
		transform: translateX(0) !important;
	}

	body.azl-portal .fcom_wrap > .azl-topbar,
	body.azl-portal .fcom_wrap > .fluent_com,
	body.azl-portal .fcom_wrap > .azl-footer {
		grid-column: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.azl-portal .fcom_wrap > .azl-footer {
		grid-row: 3 !important;
	}

	body.azl-portal .fcom_wrap > .fluent_com {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.azl-portal.azl-sidebar-open .azl-app__overlay {
		display: block !important;
	}
}

/* ============================================================================
   1. TYPOGRAPHY
   ============================================================================ */

body.azl-portal,
body.azl-portal *,
.fcom_wrap,
.fcom_wrap * {
	font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
}

/* Dashicons barre admin : ne pas écraser la font icônes */
body.azl-portal #wpadminbar,
body.azl-portal #wpadminbar * {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

body.azl-portal #wpadminbar .ab-icon,
body.azl-portal #wpadminbar .ab-icon:before,
body.azl-portal #wpadminbar .ab-item:before,
body.azl-portal #wpadminbar .ab-item:after,
body.azl-portal #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
	font-family: dashicons !important;
	font-style: normal !important;
	font-weight: normal !important;
	speak: never;
}

/* ============================================================================
   2. RESET BODY — fond de page
   ============================================================================ */

body.azl-portal,
.fcom_wrap {
	background: var(--fcom-secondary-bg, #F8FAFC) !important;
}

/* ============================================================================
   3. TOP NAVIGATION — .fcom_top_menu
   Masquée sur le portail : widgets Fluent rendus dans .azl-topbar__fcom-actions.
   ============================================================================ */

body.azl-portal:not(.azl-fcom-native-shell) .fcom_top_menu {
	display: none !important;
}

/* Widgets Fluent dans notre topbar (portail) */
body.azl-portal .azl-topbar__fcom-actions .fcom_user_context_menu_items {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.azl-portal .azl-topbar__fcom-actions .fcom_search_holder,
body.azl-app .azl-topbar__fcom-actions .fcom_search_holder {
	display: none !important;
}

body.azl-portal .azl-topbar__fcom-actions .fcom_color_mode button,
body.azl-portal .azl-topbar__fcom-actions .fcom_menu_button,
body.azl-portal .azl-topbar__fcom-actions .fcom_theme_button {
	color: #64748B !important;
	background: transparent !important;
	border: none !important;
	padding: 6px !important;
	border-radius: 6px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
}

body.azl-portal .azl-topbar__fcom-actions .fcom_color_mode button:hover,
body.azl-portal .azl-topbar__fcom-actions .fcom_menu_button:hover,
body.azl-portal .azl-topbar__fcom-actions .fcom_theme_button:hover {
	color: #1E95B0 !important;
	background: #EFF8FB !important;
}

body.azl-portal .azl-topbar__fcom-actions .fcom_menu_item_user .user_name {
	color: #0F172A !important;
	font-weight: 500 !important;
}

/* Menu profil — dropdown visible au-dessus du contenu Fluent */
body.azl-portal .fcom_wrap > .azl-topbar,
body.azl-portal .azl-topbar__actions,
body.azl-portal .azl-topbar__fcom-actions,
body.azl-portal .azl-topbar__fcom-actions .top_menu_item,
body.azl-portal .azl-topbar__fcom-actions .fcom_menu_item_user,
body.azl-portal .azl-topbar__fcom-actions .fcom_user_menu_item,
body.azl-portal .azl-topbar__fcom-actions .fcom_profile_extend {
	overflow: visible !important;
}

body.azl-portal .azl-topbar__fcom-actions .fcom_profile_extend {
	position: relative !important;
}

body.azl-portal .azl-topbar__fcom-actions .fcom_profile_extend.fcom_extend_menu .fcom_profile_sub_menu {
	display: block !important;
	z-index: 1000 !important;
}

/* Top menu sombre AZL — uniquement hors shell natif Fluent (admin/customizer) */
body:not(.azl-fcom-native-shell) .fcom_top_menu {
	background: var(--fcom-primary-bg, #0F172A) !important;
	border-bottom: 1px solid var(--fcom-primary-border, #1E293B) !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_menu_link,
body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_compt_link,
body:not(.azl-fcom-native-shell) .fcom_top_menu a {
	color: var(--fcom-menu-text, #94A3B8) !important;
	border-radius: 8px !important;
	transition: color 0.15s ease, background 0.15s ease !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_menu_link:hover,
body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_compt_link:hover,
body:not(.azl-fcom-native-shell) .fcom_top_menu a:hover {
	color: var(--fcom-menu-text-hover, #ffffff) !important;
	background: var(--fcom-menu-bg-hover, rgba(255, 255, 255, 0.08)) !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_menu_link.router-link-exact-active,
body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_compt_link.router-link-active,
body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_menu_link.active {
	color: var(--fcom-menu-text-active, #ffffff) !important;
	background: var(--fcom-active-bg, rgba(30, 149, 176, 0.15)) !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .community_avatar .fcom_shape,
body:not(.azl-fcom-native-shell) .fcom_top_menu svg {
	color: inherit !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .fhr_logo img.show_on_light {
	display: block !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .fhr_logo img.show_on_dark {
	display: none !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_space_opener_btn {
	color: #94A3B8 !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_space_opener_btn:hover {
	color: #ffffff !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .top_menu_right svg,
body:not(.azl-fcom-native-shell) .fcom_top_menu .top_menu_right i,
body:not(.azl-fcom-native-shell) .fcom_top_menu .top_menu_right button {
	color: #94A3B8 !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .top_menu_right button:hover,
body:not(.azl-fcom-native-shell) .fcom_top_menu .top_menu_right a:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .el-button,
body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_btn {
	background: #1E95B0 !important;
	border-color: #1E95B0 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
}

body:not(.azl-fcom-native-shell) .fcom_top_menu .el-button:hover,
body:not(.azl-fcom-native-shell) .fcom_top_menu .fcom_btn:hover {
	background: #167B92 !important;
	border-color: #167B92 !important;
}

/* ============================================================================
   4. COLONNE LATÉRALE GAUCHE — .spaces (navigation Fluent native)
   MASQUÉE : notre sidebar remplace cette navigation.
   ============================================================================ */

body.azl-portal:not(.azl-fcom-native-shell) .feed_layout > .spaces {
	display: none !important;
}

/*
 * Fluent réserve 280px à gauche pour sa sidebar native via padding-left: 280px.
 * Comme on la masque hors shell natif, on supprime ce padding pour 100% largeur.
 */
body.azl-portal:not(.azl-fcom-native-shell) .feed_layout {
	grid-template-columns: 1fr auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Fallback : si azl-portal absent, styler la sidebar Fluent */
.feed_layout .spaces,
.fcom_wp_frame .spaces {
	background: #0F172A !important;
	border-right: 1px solid #1E293B !important;
}

/* Titres de section dans la sidebar */
.feed_layout .spaces .fcom_section_title,
.feed_layout .spaces .space_section_label,
.feed_layout .spaces h4,
.feed_layout .spaces .group_label {
	color: #475569 !important;
	text-transform: uppercase !important;
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
}

/* Liens de la sidebar */
.feed_layout .spaces a,
.feed_layout .spaces .fcom_menu_link,
.feed_layout .spaces .fcom_route {
	color: var(--fcom-menu-text, #94A3B8) !important;
	border-radius: 8px !important;
	transition: color 0.15s ease, background 0.15s ease !important;
}

.feed_layout .spaces a:hover,
.feed_layout .spaces .fcom_menu_link:hover,
.feed_layout .spaces .fcom_route:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.07) !important;
}

/* Lien actif */
.feed_layout .spaces a.router-link-exact-active,
.feed_layout .spaces a.router-link-active,
.feed_layout .spaces .active {
	color: #ffffff !important;
	background: rgba(30, 149, 176, 0.18) !important;
	border-left: 3px solid #1E95B0 !important;
}

/* Icônes verrou (espaces privés) */
.feed_layout .spaces .fcom_lock_icon,
.feed_layout .spaces .el-icon svg {
	color: #475569 !important;
}

/* Pastilles de couleur d'espaces */
.feed_layout .spaces .fcom_space_icon {
	border-radius: 6px !important;
}

/* Nombre de posts non lus */
.feed_layout .spaces .fcom_unread_count {
	background: #1E95B0 !important;
	color: #ffffff !important;
	border-radius: 20px !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
}

/* Scrollbar custom */
.feed_layout .spaces::-webkit-scrollbar {
	width: 4px !important;
}

.feed_layout .spaces::-webkit-scrollbar-track {
	background: transparent !important;
}

.feed_layout .spaces::-webkit-scrollbar-thumb {
	background: #334155 !important;
	border-radius: 4px !important;
}

/* ============================================================================
   5. FEED & CARTES
   ============================================================================ */

/* Fond de la zone principale */
.fcom_wp_frame,
.fhr_home,
.feed_layout,
.fhr_content {
	background: var(--fcom-secondary-bg, #F8FAFC) !important;
}

/* Carte post/feed */
.fcom_card,
.fcom_feed_item,
.feed_item,
.fcom_post_item {
	background: var(--fcom-primary-bg, #ffffff) !important;
	border: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	transition: box-shadow 0.15s ease !important;
}

.fcom_card:hover,
.fcom_feed_item:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

/* En-tête de carte */
.fcom_card .card_header,
.fcom_feed_item .card_header {
	border-bottom: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
}

/* Pied de carte */
.fcom_card .card_footer,
.fcom_feed_item .card_footer {
	border-top: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
}

/* Actions de post (like, commentaire) */
.fcom_card .card_action button,
.fcom_feed_item .fcom_action_btn,
.fcom_reaction_btn {
	color: var(--fcom-secondary-text, #525866) !important;
	border-radius: 8px !important;
	transition: color 0.15s, background 0.15s !important;
}

.fcom_card .card_action button:hover,
.fcom_feed_item .fcom_action_btn:hover,
.fcom_reaction_btn:hover {
	color: #1E95B0 !important;
	background: #EFF8FB !important;
}

/* Auteur / meta */
.card_by,
.fcom_card_by,
.fcom_post_meta {
	color: var(--fcom-secondary-text, #525866) !important;
	font-size: 0.8rem !important;
}

/* Titre de post */
.article_title,
.fcom_post_title,
.card_title {
	color: var(--fcom-primary-text, #0F172A) !important;
	font-weight: 600 !important;
}

/* Contenu */
.article_content,
.fcom_wp_content,
.card_description {
	color: var(--fcom-secondary-text, #525866) !important;
	line-height: 1.65 !important;
}

/* Séparateur de commentaire */
.comment_text {
	color: var(--fcom-primary-text, #0F172A) !important;
}

.comment_actions button {
	color: var(--fcom-text-link, #1E95B0) !important;
}

/* Badges / tags */
.fcom_badge,
.fcom_tag {
	background: #EFF8FB !important;
	color: #1E95B0 !important;
	border-radius: 20px !important;
	font-size: 0.7rem !important;
	font-weight: 600 !important;
}

/* Zone de rédaction de post */
.fcom_add_section_popup,
.fcom_block_editor,
.auth_editor {
	background: var(--fcom-primary-bg, #ffffff) !important;
	border: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
	border-radius: 12px !important;
}

/* Barre de publication */
.fcom_action_field_popup {
	background: var(--fcom-primary-bg, #ffffff) !important;
	border-top: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
}

/* ============================================================================
   6. PANNEAU DROIT — Activités, widgets
   ============================================================================ */

.app_side_widget,
.app_side_widgets,
.fcom_right_side {
	background: transparent !important;
}

.app_side_widget .fcom_card,
.app_side_widget .fcom_box_card {
	background: var(--fcom-primary-bg, #ffffff) !important;
	border: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
	border-radius: 12px !important;
}

.app_side_widget .box_heading,
.app_side_widget .box_header h3 {
	font-weight: 600 !important;
	color: var(--fcom-primary-text, #0F172A) !important;
}

/* ============================================================================
   7. BOUTONS & CTAs
   ============================================================================ */

/* Bouton primaire */
.el-button--primary,
.fcom_primary_btn,
.fcom_btn_primary,
[class*="el-button--primary"] {
	background: #1E95B0 !important;
	border-color: #1E95B0 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	transition: background 0.15s ease, border-color 0.15s ease !important;
}

.el-button--primary:hover,
.fcom_primary_btn:hover,
.fcom_btn_primary:hover {
	background: #167B92 !important;
	border-color: #167B92 !important;
}

.el-button--primary.is-plain {
	background: #EFF8FB !important;
	border-color: #1E95B0 !important;
	color: #1E95B0 !important;
}

/* Bouton secondaire */
.el-button,
.fcom_btn {
	border-radius: 8px !important;
	font-weight: 500 !important;
}

/* Bouton danger */
.el-button--danger {
	background: #EF4444 !important;
	border-color: #EF4444 !important;
	border-radius: 8px !important;
}

/* Bouton "Suivre / Rejoindre" */
.fcom_follow_btn,
.fcom_join_btn {
	background: #1E95B0 !important;
	border-color: #1E95B0 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
}

/* ============================================================================
   8. LIENS
   ============================================================================ */

/* Liens Fluent (zone de contenu) — teal */
.fcom_wrap .fluent_com a,
.fcom_wrap .fluent_com .fcom_route {
	color: var(--fcom-text-link, #1E95B0) !important;
}

.fcom_wrap .fluent_com a:hover,
.fcom_wrap .fluent_com .fcom_route:hover {
	color: #167B92 !important;
}

/* Liens dans le contenu de post */
.fcom_wp_content a {
	color: #1E95B0 !important;
	text-decoration: underline !important;
}

/* ── Notre sidebar injectée dans .fcom_wrap — reset complet des couleurs ── */
/* Priorité maximale pour contrecarrer les !important de Fluent */
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item > a,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item > a:link,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item > a:visited {
	color: var(--azl-sidebar-text-muted, #9ca3af) !important;
	text-decoration: none !important;
	background: transparent !important;
}

body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item > a:hover {
	color: var(--azl-sidebar-menu-accent-text, #ffffff) !important;
	background: var(--azl-sidebar-menu-gradient) !important;
}

body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item.current-menu-item > a,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item.current-menu-item > a:link,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item.current-menu-item > a:visited,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item.current-menu-ancestor > a,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item.current-menu-parent > a {
	color: var(--azl-sidebar-menu-accent-text, #ffffff) !important;
	background: var(--azl-sidebar-menu-gradient) !important;
}

/* Sous-menu : points + fond sombre (jamais le gradient parent) */
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu__sub .menu-item a,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu__sub .menu-item a:link,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu__sub .menu-item a:visited,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item.current-menu-item .azl-sidebar-menu__sub a,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu > .menu-item.current-menu-ancestor .azl-sidebar-menu__sub a {
	color: #9aa2ab !important;
	background: transparent !important;
	text-decoration: none !important;
}

body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu__sub .menu-item a:hover,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar-menu__sub .menu-item.current-menu-item > a {
	color: #e5e7eb !important;
	background: #252a31 !important;
}

/* MES ESPACES liens */
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__spaces a,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__spaces a:link,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__spaces a:visited {
	color: var(--azl-sidebar-text-muted, #9ca3af) !important;
	text-decoration: none !important;
}

body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__spaces a:hover {
	color: #fff !important;
	background: var(--azl-sidebar-bg-hover, #252a31) !important;
}

/* Profil pied de sidebar */
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__footer a,
body.azl-portal .fcom_wrap > .azl-sidebar .azl-sidebar__footer a:link {
	color: var(--azl-neutral-400, #94A3B8) !important;
	text-decoration: none !important;
}

/* ============================================================================
   9. FORMULAIRES — inputs, textarea
   ============================================================================ */

.el-input__wrapper,
.fcom_wrap input[type="text"],
.fcom_wrap input[type="email"],
.fcom_wrap input[type="search"],
.fcom_wrap textarea {
	background: var(--fcom-primary-bg, #ffffff) !important;
	border: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
	border-radius: 8px !important;
	color: var(--fcom-primary-text, #0F172A) !important;
	transition: border-color 0.15s !important;
}

/* Composeur communauté : une seule bordure sur le conteneur, pas sur les champs internes */
body.azl-portal-community .create_status_holder .fcom_md_editor input,
body.azl-portal-community .create_status_holder .fcom_md_editor textarea,
body.azl-portal-community .create_status_holder .fcom_md_editor .el-input__wrapper,
body.azl-portal-community .create_status_holder .fcom_md_editor .el-textarea__inner {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	outline: none !important;
}

body.azl-portal-community .create_status_holder .fcom_md_editor input:focus,
body.azl-portal-community .create_status_holder .fcom_md_editor textarea:focus,
body.azl-portal-community .create_status_holder .fcom_md_editor .el-input__wrapper:focus-within {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.el-input__wrapper:focus-within,
.fcom_wrap input:focus,
.fcom_wrap textarea:focus {
	border-color: #1E95B0 !important;
	box-shadow: 0 0 0 1px rgba(30, 149, 176, 0.18) !important;
	outline: none !important;
}

.el-input__inner::placeholder,
.fcom_wrap input::placeholder {
	color: var(--fcom-text-off, #9CA3AF) !important;
}

/* ============================================================================
   10. NOTIFICATIONS — page + dropdown (charte AZL / bleu pétrole)
   ============================================================================ */

.fcom_notification_dot,
.fcom_unread_indicator {
	background: var(--azl-primary-600, #0a6f80) !important;
}

/* Pastille "NOUVEAU" */
.fcom_new_badge {
	background: var(--azl-primary-50, #e6f7fa) !important;
	color: var(--azl-primary-700, #0a5a68) !important;
	border-radius: 20px !important;
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
}

/* ── Page /portal/notifications ─────────────────────────────────────────── */

body.azl-portal .fhr_content_layout_body.notification_layout,
body.azl-portal .notification_layout {
	font-family: var(--azl-font-body, 'Plus Jakarta Sans', system-ui, sans-serif) !important;
	color: var(--azl-text, #1a1d21) !important;
	padding-top: 4px !important;
}

/* En-tête page notifications : coller sous la topbar */
body.azl-portal .fcom_single_layout .fhr_content,
body.azl-portal .notification_layout .fhr_content,
body.azl-portal .fhr_content_layout.notification_layout,
body.azl-portal .fhr_content_layout_body.notification_layout {
	padding-top: 4px !important;
	margin-top: 0 !important;
}

body.azl-portal .notification_layout .fhr_page_title,
body.azl-portal .fcom_single_layout .fhr_page_title {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
}

body.azl-portal .notification_layout .fcom_section_heading,
body.azl-portal .notification_layout .fcom_notification_card__title h3,
body.azl-portal .notifications_wrap h3 {
	font-family: var(--azl-font-display, 'Plus Jakarta Sans', system-ui, sans-serif) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	color: var(--azl-ink, #16191d) !important;
}

/* Carte principale */
body.azl-portal .notification_layout .space_members,
body.azl-portal .notification_layout .fcom_notification_card__body,
body.azl-portal .notification_layout .notifications.notifications_wrap {
	background: var(--azl-neutral-0, #fff) !important;
	border: 1px solid var(--azl-line, #e5e7eb) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	box-shadow: none !important;
}

body.azl-portal .notification_layout .notifications.notifications_wrap {
	padding: 4px 8px 12px !important;
	margin: 0 !important;
}

/* Onglets Tout / Non lus / Mentions / Suivi */
body.azl-portal .notification_layout .fcom_filter_menu,
body.azl-portal .notification_pop .fcom_filter_menu {
	border-bottom: 1px solid var(--azl-line, #e5e7eb) !important;
	margin-bottom: 8px !important;
}

body.azl-portal .notification_layout .fcom_filter_menu .fcom_notification_types li a,
body.azl-portal .notification_layout .fcom_filter_menu_ul li a,
body.azl-portal .notification_pop .fcom_filter_menu_ul li a {
	color: var(--azl-muted, #64748b) !important;
	font-weight: 600 !important;
	font-size: 13.5px !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 10px 12px !important;
}

body.azl-portal .notification_layout .fcom_filter_menu .fcom_notification_types li a:hover,
body.azl-portal .notification_layout .fcom_filter_menu_ul li a:hover,
body.azl-portal .notification_pop .fcom_filter_menu_ul li a:hover {
	color: var(--azl-ink, #16191d) !important;
	background: transparent !important;
}

body.azl-portal .notification_layout .fcom_filter_menu .fcom_notification_types li a.active,
body.azl-portal .notification_layout .fcom_filter_menu .fcom_notification_types li.is-active a,
body.azl-portal .notification_layout .fcom_filter_menu_ul li a.active,
body.azl-portal .notification_layout .fcom_filter_menu_ul li.is-active a,
body.azl-portal .notification_pop .fcom_filter_menu_ul li a.active,
body.azl-portal .notification_pop .fcom_filter_menu_ul li.is-active a {
	color: var(--azl-primary-700, #0a5a68) !important;
	border-bottom-color: var(--azl-primary-600, #0a6f80) !important;
	background: transparent !important;
}

/* Switch « Uniquement non lu » + CTA */
body.azl-portal .notification_layout .el-switch.is-checked .el-switch__core {
	background-color: var(--azl-primary-600, #0a6f80) !important;
	border-color: var(--azl-primary-600, #0a6f80) !important;
}

body.azl-portal .notification_layout .el-switch__label,
body.azl-portal .notification_layout .fcom_switch .el-switch__label span {
	color: var(--azl-muted, #64748b) !important;
	font-weight: 600 !important;
}

body.azl-portal .notification_layout .el-button--primary,
body.azl-portal .notification_layout .el-button--success,
body.azl-portal .notification_layout button.el-button:not(.el-button--text):not(.is-link) {
	background: var(--azl-primary-600, #0a6f80) !important;
	border-color: var(--azl-primary-600, #0a6f80) !important;
	color: #fff !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	box-shadow: none !important;
}

body.azl-portal .notification_layout .el-button--primary:hover,
body.azl-portal .notification_layout .el-button--success:hover,
body.azl-portal .notification_layout button.el-button:not(.el-button--text):not(.is-link):hover {
	background: var(--azl-primary-700, #0a5a68) !important;
	border-color: var(--azl-primary-700, #0a5a68) !important;
	color: #fff !important;
}

/* Items */
body.azl-portal .notifications_wrap .notification_item,
body.azl-portal .notification_pop .notification_item {
	color: var(--azl-text, #1a1d21) !important;
	opacity: 1 !important;
	border-radius: 10px !important;
	margin: 2px 0 !important;
	padding: 12px 14px !important;
	gap: 12px !important;
}

body.azl-portal .notifications_wrap .notification_item:hover,
body.azl-portal .notification_pop .notification_item:hover {
	background: var(--azl-neutral-50, #f4f5f7) !important;
	color: var(--azl-ink, #16191d) !important;
}

body.azl-portal .notifications_wrap .notification_content,
body.azl-portal .notification_pop .notification_content {
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: var(--azl-neutral-600, #475569) !important;
}

/* Noms / liens dans le texte : encre, pas vert fluo */
body.azl-portal .notifications_wrap .notification_content a,
body.azl-portal .notifications_wrap .notification_content b,
body.azl-portal .notifications_wrap .notification_content strong,
body.azl-portal .notification_pop .notification_content a,
body.azl-portal .notification_pop .notification_content b,
body.azl-portal .notification_pop .notification_content strong {
	color: var(--azl-ink, #16191d) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

body.azl-portal .notifications_wrap .notification_content a:hover,
body.azl-portal .notification_pop .notification_content a:hover {
	color: var(--azl-primary-700, #0a5a68) !important;
}

/* Horodatage : gris, jamais couleur lien */
body.azl-portal .notifications_wrap .notification_time_stamp,
body.azl-portal .notification_pop .notification_time_stamp {
	color: var(--azl-muted, #64748b) !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	margin-top: 4px !important;
}

/* Pastille non lu */
body.azl-portal .notifications_wrap .notification_wrap_unread:before,
body.azl-portal .notification_pop .notification_wrap_unread:before {
	background: var(--azl-primary-600, #0a6f80) !important;
	width: 8px !important;
	height: 8px !important;
}

/* Avatar initiales */
body.azl-portal .notifications_wrap .notification_avatar,
body.azl-portal .notification_pop .notification_avatar {
	background: var(--azl-primary-800, #0f4d5c) !important;
	border: 0 !important;
}

body.azl-portal .notifications_wrap .notification_avatar .fcom_user_avatar,
body.azl-portal .notifications_wrap .notification_avatar .fcom_avatar_placeholder,
body.azl-portal .notification_pop .notification_avatar .fcom_user_avatar,
body.azl-portal .notification_pop .notification_avatar .fcom_avatar_placeholder {
	background: var(--azl-primary-800, #0f4d5c) !important;
	color: #fff !important;
	font-weight: 700 !important;
}

/* Icônes type (commentaire / mention) — pétrole, cœur reste rouge */
body.azl-portal .notifications_wrap .fcom_notification_type .el-icon.fcom_nt_comment,
body.azl-portal .notification_pop .fcom_notification_type .el-icon.fcom_nt_comment,
body.azl-portal .notifications_wrap .fcom_notification_type .el-icon.fcom_nt_mention,
body.azl-portal .notification_pop .fcom_notification_type .el-icon.fcom_nt_mention {
	background: var(--azl-primary-600, #0a6f80) !important;
	color: #fff !important;
}

body.azl-portal .notifications_wrap .fcom_notification_type,
body.azl-portal .notification_pop .fcom_notification_type {
	color: var(--azl-primary-600, #0a6f80) !important;
}

/* Dropdown cloche (topbar) — même harmonie */
body.azl-portal .notification_pop.el-popper,
body.azl-portal .unread_notifications {
	border-radius: 14px !important;
	border: 1px solid var(--azl-line, #e5e7eb) !important;
	box-shadow: var(--azl-shadow-md, 0 4px 6px -1px rgb(15 23 42 / 0.08)) !important;
	overflow: hidden !important;
}

body.azl-portal .notification_pop .fcom_view_all_notifications button,
body.azl-portal .unread_notifications .fcom_view_all_notifications button {
	background: var(--azl-primary-600, #0a6f80) !important;
	border-color: var(--azl-primary-600, #0a6f80) !important;
	color: #fff !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
}

/* ============================================================================
   11. PROFIL
   ============================================================================ */

/* Avatar */
.fcom_avatar,
.avatar {
	border-radius: 50% !important;
	border: 2px solid var(--fcom-primary-border, #E2E8F0) !important;
}

/* Bannière de profil */
.fcom_banner_image_holder {
	background: linear-gradient(135deg, #0F172A 0%, #1E95B0 100%) !important;
}

/* Stats profil */
.fcom_app_counts {
	color: var(--fcom-secondary-text, #525866) !important;
}

.fcom_app_counts strong {
	color: var(--fcom-primary-text, #0F172A) !important;
}

/* ============================================================================
   12. ESPACES — pages d'espace Fluent
   ============================================================================ */

/* Bannière d'espace */
.fcom_space_banner,
.fcom_bg_image {
	border-radius: 12px !important;
}

/* Titre d'espace */
.fcom_space_title {
	font-weight: 700 !important;
	color: var(--fcom-primary-text, #0F172A) !important;
}

/* ============================================================================
   13. COURS FLUENT — cours en cours
   ============================================================================ */

.fcom_action_lesson,
.fcom_course_card {
	background: var(--fcom-primary-bg, #ffffff) !important;
	border: 1px solid var(--fcom-primary-border, #E2E8F0) !important;
	border-radius: 12px !important;
}

.fcom_action_lesson_popup {
	background: #1E95B0 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
}

/* Barre de progression */
.fcom_progress_bar,
.el-progress-bar__outer {
	background: #E2E8F0 !important;
	border-radius: 20px !important;
}

.fcom_progress_bar_inner,
.el-progress-bar__inner {
	background: #1E95B0 !important;
	border-radius: 20px !important;
}

/* ============================================================================
   14. DIALOGS / MODALES (Element Plus)
   ============================================================================ */

.el-dialog {
	border-radius: 16px !important;
	border: 1px solid #E2E8F0 !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important;
}

.el-dialog__title {
	font-weight: 700 !important;
	color: #0F172A !important;
}

.el-dialog__header {
	border-bottom: 1px solid #E2E8F0 !important;
}

/* ============================================================================
   15. DROPDOWN / POPOVER
   ============================================================================ */

.el-dropdown-menu,
.el-popper {
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
}

.el-dropdown-menu__item:hover {
	background: #EFF8FB !important;
	color: #1E95B0 !important;
}

/* ============================================================================
   16. COULEURS ACTIVES / ÉTATS
   Ne pas cibler .is-active seul : Fluent l'utilise sur le composeur de post,
   les onglets Element Plus, etc. (fond teal indésirable au focus).
   ============================================================================ */

.el-checkbox__input.is-checked .el-checkbox__inner,
.el-radio__input.is-checked .el-radio__inner {
	border-color: #1E95B0 !important;
	background: #1E95B0 !important;
}

/* Composeur de publication — conserver fond neutre à l'ouverture/focus */
body.azl-portal .fcom_create_status_box.is-active,
body.azl-portal .create_status_holder .create_header.state_active,
body.azl-portal .create_status_holder .create_header.state_active .fcom_create_status_box_header,
body.azl-portal .create_status_holder .create_header.state_active .fcom_composer_footer {
	background: var(--fcom-primary-bg, #ffffff) !important;
}

.el-checkbox__inner:hover,
.el-radio__inner:hover {
	border-color: #1E95B0 !important;
}

/* Sélection active dans les listes */
.el-menu-item.is-active {
	color: #1E95B0 !important;
}

/* ============================================================================
   17. SCROLLBAR GLOBALE
   ============================================================================ */

.fcom_wrap *::-webkit-scrollbar {
	width: 5px !important;
	height: 5px !important;
}

.fcom_wrap *::-webkit-scrollbar-track {
	background: transparent !important;
}

.fcom_wrap *::-webkit-scrollbar-thumb {
	background: #CBD5E1 !important;
	border-radius: 4px !important;
}

.fcom_wrap *::-webkit-scrollbar-thumb:hover {
	background: #94A3B8 !important;
}

/* ============================================================================
   18. DARK MODE — bouton masqué (voir topbar.css .fcom_color_mode)
   ============================================================================ */

/* ============================================================================
   19. PAGE COURS (/portal/courses) — Pleine largeur + grille 4 colonnes
   ============================================================================ */

/*
 * Fluent contraint le contenu à 748px via .fcom_max_layout + margin:auto.
 * On supprime cette contrainte sur la page courses pour utiliser 100% de
 * la zone disponible (1028px - notre sidebar).
 */

/* Suppression de la contrainte de largeur Fluent */
body.azl-portal-courses .fcom_single_layout.fcom_max_layout,
body.azl-portal-courses .fcom_single_layout,
body.azl-portal-courses .fhr_content_layout,
body.azl-portal-courses .no_bg_layout.fhr_content_layout {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Conteneur principal des cours */
body.azl-portal-courses .fhr_content_layout_body,
body.azl-portal-courses .fhr_content_layout > .el-scrollbar,
body.azl-portal-courses .fhr_content_layout > .el-scrollbar > .el-scrollbar__wrap {
	width: 100% !important;
	max-width: 100% !important;
}

/* Supprimer le padding latéral excessif du feed */
body.azl-portal-courses .feeds_main {
	width: 100% !important;
	max-width: 100% !important;
}

/* ── Entête de la page cours (titre + filtres) ───────────────────────────── */

body.azl-portal-courses .fcom_sticky_header .fhr_content_layout_header,
body.azl-portal-courses .fhr_content_layout_header {
	position: static !important;
	top: auto !important;
	z-index: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 8px 16px !important;
	padding: 12px 32px 0 !important;
	min-height: 0 !important;
	background: transparent !important;
}

body.azl-portal-courses .fhr_page_title {
	margin: 0 !important;
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	letter-spacing: -0.02em !important;
}

body.azl-portal-courses .fhr_content_layout_body > .fcom_feed_box:first-child,
body.azl-portal-courses .fcom_courses_header,
body.azl-portal-courses .course_header_wrap {
	padding: 20px 32px 0 !important;
	margin-bottom: 0 !important;
	border-bottom: 1px solid #E2E8F0 !important;
	background: #ffffff !important;
}

/* Titre h2 "Cours (32)" */
body.azl-portal-courses .fhr_content_layout_body h2.fcom_section_title,
body.azl-portal-courses .course_title_header h2,
body.azl-portal-courses h2.course_title_header {
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	letter-spacing: -0.02em !important;
}

/* Barre de recherche cours */
body.azl-portal-courses .course_search_field,
body.azl-portal-courses .fcom_course_search {
	background: #F8FAFC !important;
	border: 1.5px solid #E2E8F0 !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
}

/* Onglets Tous / Mes cours */
body.azl-portal-courses .fcom_course_tabs a,
body.azl-portal-courses .fcom_course_tabs button,
body.azl-portal-courses .course_tab_item {
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	color: #64748B !important;
	border-radius: 8px !important;
	padding: 6px 14px !important;
	transition: color 0.15s, background 0.15s !important;
}

body.azl-portal-courses .fcom_course_tabs a.active,
body.azl-portal-courses .fcom_course_tabs button.active,
body.azl-portal-courses .course_tab_item.is-active,
body.azl-portal-courses .course_tab_item.active {
	color: #1E95B0 !important;
	background: #E6F4F8 !important;
}

/* Bouton "Nouveau cours" (admin) */
body.azl-portal-courses .fcom_create_course_btn,
body.azl-portal-courses a[href*="create-course"],
body.azl-portal-courses button.course_create_btn {
	background: #1E95B0 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	font-size: 0.82rem !important;
	border: none !important;
}

/* ── Grille de cours — 4 colonnes ────────────────────────────────────────── */

/* Wrapper de la grille */
body.azl-portal-courses .fcom_courses_wrapper,
body.azl-portal-courses .fhr_content_layout_body .fcom_courses,
body.azl-portal-courses .fcom_course_list,
body.azl-portal-courses .course_grid_wrapper,
body.azl-portal-courses div[class*="course"][class*="grid"],
body.azl-portal-courses div[class*="course"][class*="list"] {
	padding: 24px 32px !important;
	width: 100% !important;
}

/* Grille native de Fluent pour les cours */
body.azl-portal-courses .fcom_courses_wrapper .fcom_courses,
body.azl-portal-courses .fcom_courses_list,
body.azl-portal-courses .course_items_wrapper,
body.azl-portal-courses .fhr_content_layout_body > * > .fcom_courses,
body.azl-portal-courses .fhr_content_layout_body .courses_grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
	width: 100% !important;
}

/* Carte de cours individuelle */
body.azl-portal-courses .fcom_course_item,
body.azl-portal-courses .fcom_course_card,
body.azl-portal-courses .course_item,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item {
	background: #ffffff !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

body.azl-portal-courses .fcom_course_item:hover,
body.azl-portal-courses .fcom_course_card:hover,
body.azl-portal-courses .course_item:hover,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

/* Image de couverture du cours */
body.azl-portal-courses .fcom_course_item .course_thumbnail,
body.azl-portal-courses .fcom_course_item .fcom_course_cover,
body.azl-portal-courses .fcom_course_card .cover_photo,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item .fcom_space_cover {
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

/* Corps de la carte */
body.azl-portal-courses .fcom_course_item .course_info,
body.azl-portal-courses .fcom_course_card .course_body,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item .fcom_space_content {
	padding: 14px 16px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

/* Titre de la carte cours */
body.azl-portal-courses .fcom_course_item .course_title,
body.azl-portal-courses .fcom_course_card h3,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item .space_title,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item h3 {
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	letter-spacing: -0.01em !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}

/* Lien titre cours */
body.azl-portal-courses .fcom_course_item .course_title a,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item h3 a,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item .space_title a {
	color: #1E95B0 !important;
	text-decoration: none !important;
}

body.azl-portal-courses .fcom_course_item .course_title a:hover,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item h3 a:hover {
	color: #167B92 !important;
}

/* Meta (sections • leçons) */
body.azl-portal-courses .fcom_course_item .course_meta,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item .fcom_space_meta {
	font-size: 0.75rem !important;
	color: #64748B !important;
	line-height: 1.4 !important;
}

/* Barre de progression */
body.azl-portal-courses .fcom_course_item .course_progress,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item .course_progress_bar {
	margin-top: auto !important;
	padding-top: 10px !important;
	border-top: 1px solid #F1F5F9 !important;
}

body.azl-portal-courses .fcom_course_progress_bar,
body.azl-portal-courses .fhr_content_layout_body .progress_bar_wrap {
	height: 5px !important;
	border-radius: 3px !important;
	background: #E2E8F0 !important;
	overflow: hidden !important;
}

body.azl-portal-courses .fcom_course_progress_bar .progress_fill,
body.azl-portal-courses .fhr_content_layout_body .progress_bar_wrap .fill {
	background: #1E95B0 !important;
	border-radius: 3px !important;
	height: 100% !important;
}

/* Bouton "Voir le cours" */
body.azl-portal-courses .fcom_course_item .view_course_btn,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item .course_action_btn,
body.azl-portal-courses .fhr_content_layout_body .fcom_space_item a.course_link {
	display: block !important;
	text-align: center !important;
	background: #F8FAFC !important;
	color: #1E95B0 !important;
	border: 1.5px solid #E2E8F0 !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	margin-top: auto !important;
	transition: background 0.15s, border-color 0.15s !important;
}

body.azl-portal-courses .fhr_content_layout_body .fcom_space_item a.course_link:hover,
body.azl-portal-courses .fcom_course_item .view_course_btn:hover {
	background: #E6F4F8 !important;
	border-color: #1E95B0 !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 1100px) {
	body.azl-portal-courses .fcom_courses_wrapper .fcom_courses,
	body.azl-portal-courses .fcom_courses_list,
	body.azl-portal-courses .course_items_wrapper,
	body.azl-portal-courses .fhr_content_layout_body .courses_grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 768px) {
	body.azl-portal-courses .fcom_courses_wrapper .fcom_courses,
	body.azl-portal-courses .fcom_courses_list,
	body.azl-portal-courses .course_items_wrapper,
	body.azl-portal-courses .fhr_content_layout_body .courses_grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* ============================================================================
   20. PAGE COURS — Sélecteurs exacts (inspectés via Playwright)
   ============================================================================ */

/*
 * La contrainte 748px vient du second enfant direct de .feed_layout
 * (élément sans classe) que Fluent injecte dynamiquement. On le cible
 * et on remonte la cascade vers .fhr_content_layout_body.
 */

/* Casser la contrainte 748px à la source */
body.azl-portal-courses .feed_layout > div:not(.spaces) {
	width: 100% !important;
	max-width: 100% !important;
}

body.azl-portal-courses .fcom_single_layout,
body.azl-portal-courses .fcom_max_layout,
body.azl-portal-courses .fcom_single_layout.fcom_max_layout {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.azl-portal-courses .feeds_main {
	width: 100% !important;
	max-width: 100% !important;
}

body.azl-portal-courses .fhr_content_layout,
body.azl-portal-courses .no_bg_layout.fhr_content_layout {
	width: 100% !important;
	max-width: 100% !important;
}

body.azl-portal-courses .fhr_content_layout > .el-scrollbar,
body.azl-portal-courses .fhr_content_layout > .el-scrollbar > .el-scrollbar__wrap,
body.azl-portal-courses .fhr_content_layout > .el-scrollbar > .el-scrollbar__wrap > .el-scrollbar__view {
	width: 100% !important;
	max-width: 100% !important;
}

body.azl-portal-courses .fhr_content_layout_body {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Conteneur direct des cours */
body.azl-portal-courses .fcom_courses {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 32px 32px !important;
	box-sizing: border-box !important;
}

/* Filtres (recherche locale masquée — déléguée à la topbar) */
body.azl-portal-courses .search_member {
	display: none !important;
}

body.azl-portal-courses .feed_filters:not(.azl-courses-filters__sort) {
	padding: 12px 32px 16px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	border-bottom: 1px solid #E2E8F0 !important;
	background: #ffffff !important;
}

/* ── GRILLE 4 COLONNES ────────────────────────────────────────────────────── */

body.azl-portal-courses .fcom_box_card_list {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
}

/* ── CARTES DE COURS ─────────────────────────────────────────────────────── */

body.azl-portal-courses .fcom_each_box_card {
	background: #ffffff !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease !important;
	width: 100% !important;
	cursor: pointer !important;
}

body.azl-portal-courses .fcom_each_box_card:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

/* Vignette (image de couverture) */
body.azl-portal-courses .fcom_box_card_avatar {
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	overflow: hidden !important;
	flex-shrink: 0 !important;
	background: linear-gradient(135deg, #1E95B0 0%, #0F172A 100%) !important;
}

body.azl-portal-courses .fcom_box_card_avatar img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

/* Corps de la carte */
body.azl-portal-courses .fcom_box_card_info {
	padding: 14px 16px 12px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Titre du cours */
body.azl-portal-courses .fcom_box_card_name {
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	letter-spacing: -0.01em !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}

body.azl-portal-courses .fcom_box_card_name a {
	color: #1E95B0 !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}

body.azl-portal-courses .fcom_box_card_name a:hover {
	color: #167B92 !important;
}

/* Détails (sections • leçons) */
body.azl-portal-courses .fcom_box_card_details {
	font-size: 0.75rem !important;
	color: #64748B !important;
	line-height: 1.4 !important;
	margin-bottom: 2px !important;
}

/* Description */
body.azl-portal-courses .fcom_box_card_description {
	font-size: 0.75rem !important;
	color: #94A3B8 !important;
	line-height: 1.4 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

/* Barre de progression */
body.azl-portal-courses .fcom_progress_bar_wrap,
body.azl-portal-courses .fcom_each_box_card .fcom_progress_bar {
	margin-top: 8px !important;
	height: 4px !important;
	border-radius: 4px !important;
	background: #E2E8F0 !important;
	overflow: hidden !important;
	width: 100% !important;
}

body.azl-portal-courses .fcom_each_box_card .fcom_progress_bar .bar_fill,
body.azl-portal-courses .fcom_progress_bar_fill {
	background: #1E95B0 !important;
	height: 100% !important;
	border-radius: 4px !important;
}

/* Texte de progression ("2% terminé") */
body.azl-portal-courses .fcom_progress_text {
	font-size: 0.7rem !important;
	color: #94A3B8 !important;
	margin-top: 3px !important;
	text-align: right !important;
}

/* Bouton d'action "Voir le cours" */
body.azl-portal-courses .fcom_box_card_action {
	margin-top: auto !important;
	padding-top: 10px !important;
	border-top: 1px solid #F1F5F9 !important;
	width: 100% !important;
	display: flex !important;
}

body.azl-portal-courses .fcom_box_card_action a,
body.azl-portal-courses .fcom_box_card_action button {
	flex: 1 !important;
	text-align: center !important;
	background: #F8FAFC !important;
	color: #1E95B0 !important;
	border: 1.5px solid #E2E8F0 !important;
	border-radius: 8px !important;
	padding: 7px 12px !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: block !important;
	transition: background 0.15s, border-color 0.15s !important;
	letter-spacing: 0 !important;
	line-height: 1.4 !important;
}

body.azl-portal-courses .fcom_box_card_action a:hover,
body.azl-portal-courses .fcom_box_card_action button:hover {
	background: #E6F4F8 !important;
	border-color: #3AA5BD !important;
	color: #167B92 !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 1100px) {
	body.azl-portal-courses .fcom_box_card_list {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 768px) {
	body.azl-portal-courses .fcom_courses {
		padding: 0 16px 24px !important;
	}

	body.azl-portal-courses .feed_filters {
		padding: 12px 16px !important;
	}

	body.azl-portal-courses .fcom_box_card_list {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
}

/* ============================================================================
   21. PORTAIL — Sidebar sombre (même shell que accueil / trousse / calendrier)
   ============================================================================ */

body.azl-portal .fcom_wrap > .azl-sidebar {
	background: var(--azl-sidebar-bg, #16191d) !important;
	border-right: none !important;
	color: var(--azl-sidebar-text, #ffffff) !important;
}

body.azl-portal .azl-sidebar-menu > .menu-item > a {
	color: var(--azl-sidebar-text-muted, #9ca3af) !important;
}

body.azl-portal .azl-sidebar-menu > .menu-item > a:hover {
	background: var(--azl-sidebar-menu-gradient) !important;
	color: var(--azl-sidebar-menu-accent-text, #ffffff) !important;
}

body.azl-portal .azl-sidebar-menu > .menu-item.current-menu-item > a,
body.azl-portal .azl-sidebar-menu > .menu-item.current-menu-ancestor > a,
body.azl-portal .azl-sidebar-menu > .menu-item.current-menu-parent > a {
	background: var(--azl-sidebar-menu-gradient) !important;
	color: var(--azl-sidebar-menu-accent-text, #ffffff) !important;
}

body.azl-portal .azl-sidebar-menu > .menu-item.current-menu-item > a .azl-sidebar-menu__icon {
	color: #ffffff !important;
	opacity: 1 !important;
}

body.azl-portal .azl-sidebar-menu__sub .menu-item a,
body.azl-portal .azl-sidebar-menu__sub .menu-item a:hover,
body.azl-portal .azl-sidebar-menu > .menu-item.current-menu-item .azl-sidebar-menu__sub a,
body.azl-portal .azl-sidebar-menu > .menu-item.current-menu-ancestor .azl-sidebar-menu__sub a {
	background: transparent !important;
	color: #9aa2ab !important;
}

body.azl-portal .azl-sidebar-menu__sub .menu-item a:hover,
body.azl-portal .azl-sidebar-menu__sub .menu-item.current-menu-item > a {
	background: #252a31 !important;
	color: #e5e7eb !important;
}

body.azl-portal .azl-sidebar__logo-line--top {
	color: var(--azl-sidebar-text-muted, #9ca3af) !important;
}

body.azl-portal .azl-sidebar__logo-line--bottom {
	color: var(--azl-sidebar-text, #ffffff) !important;
}

body.azl-portal .azl-sidebar__logo-line--bottom em {
	color: var(--azl-primary-400, #14b8cf) !important;
}

body.azl-portal .azl-sidebar__spaces h2 {
	color: var(--azl-sidebar-text-subtle, #6b7280) !important;
}

body.azl-portal .azl-sidebar__spaces li a {
	color: var(--azl-sidebar-text-muted, #9ca3af) !important;
}

body.azl-portal .azl-sidebar__spaces li a:hover {
	background: var(--azl-sidebar-bg-hover, #252a31) !important;
	color: #fff !important;
}

body.azl-portal .azl-sidebar__profile-card {
	background: transparent !important;
	border-color: var(--azl-sidebar-divider, #2a3038) !important;
}

body.azl-portal .azl-sidebar__user-name {
	color: var(--azl-sidebar-text, #ffffff) !important;
}

body.azl-portal .azl-sidebar__profile-link {
	color: var(--azl-sidebar-text-muted, #9ca3af) !important;
}

body.azl-portal .azl-sidebar__kebab {
	color: var(--azl-sidebar-text-muted, #9ca3af) !important;
}

body.azl-portal .azl-sidebar__kebab:hover {
	background: var(--azl-sidebar-bg-hover, #252a31) !important;
	color: #fff !important;
}

/* ── Layout feed : centre + colonne droite widgets ─────────────────────────── */

/*
 * Martin déborde au-dessus de la carte. La figure est promue en fixed (JS)
 * pour passer au-dessus du champ recherche (topbar z-index 150).
 */
body.azl-portal-community {
	--azl-portal-hero-offset: 74px;
}

body.azl-portal-community .azl-portal-hero {
	margin-top: var(--azl-portal-hero-offset) !important;
}

body.azl-portal-community .fcom_wrap > .fluent_com {
	position: relative !important;
	overflow: visible !important;
}

body.azl-portal-community .fcom_wrap {
	position: relative !important;
}

body.azl-portal-community .fhr_content_layout > .el-scrollbar {
	overflow: visible !important;
}

body.azl-portal-community .fhr_content_layout_header {
	display: none !important;
}

body.azl-portal-community .fcom_sub_header {
	display: none !important;
}

body.azl-portal-community .fhr_content_layout_body {
	padding: 0 var(--azl-layout-page-padding-x, 30px) 48px !important;
	margin-top: 0 !important;
	max-width: 100% !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

body.azl-portal-community .fcom_resp_container.fcom_space_container {
	padding-top: 0 !important;
}

body.azl-portal-community .fcom_main_container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) var(--azl-layout-widgets-width, 310px) !important;
	flex-direction: unset !important;
	flex-wrap: unset !important;
	align-items: start !important;
	gap: 20px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.azl-portal-community .fcom_main {
	flex: unset !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
	overflow: visible !important;
	align-self: start !important;
}

body.azl-portal-community .fcom_resp_side {
	flex: unset !important;
	width: var(--azl-layout-widgets-width, 310px) !important;
	max-width: var(--azl-layout-widgets-width, 310px) !important;
	min-width: 0 !important;
	position: relative !important;
	top: auto !important;
	align-self: start !important;
	padding: 0 !important;
	margin: var(--azl-portal-hero-offset) 0 0 0 !important;
	display: block !important;
}

@media (max-width: 1150px) {
	body.azl-portal-community .fcom_main_container {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.azl-portal-community .fcom_resp_side {
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 8px !important;
	}
}

body.azl-portal-community .fcom_main_side_wrap {
	position: sticky !important;
	top: 88px !important;
	padding-top: 0 !important;
}

body.azl-portal-community .fcom_side_box {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	width: 100% !important;
}

/* ── Hero Communauté (colonne centrale uniquement) ───────────────────────── */

.azl-portal-hero {
	position: relative;
	z-index: 20;
	overflow: visible !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	width: 100%;
	max-width: 100%;
}

.azl-portal-hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) min(300px, 34%);
	grid-template-rows: auto auto;
	grid-template-areas:
		"intro visual"
		"stats visual";
	align-items: stretch;
	column-gap: 0;
	row-gap: 20px;
	min-height: 196px;
	background:
		radial-gradient(ellipse 70% 90% at 92% 20%, rgb(14 143 163 / 0.14), transparent 55%),
		linear-gradient(125deg, #f7fbfc 0%, #f4f5f7 48%, #eef6f8 100%);
	border: 1px solid var(--azl-line, #e5e7eb);
	border-radius: var(--azl-radius-xl, 14px);
	overflow: visible !important;
	padding: 28px 0 0 36px;
	box-shadow: none;
}

.azl-portal-hero__watermark {
	position: absolute;
	right: 4%;
	bottom: 8%;
	transform: none;
	font-family: 'Plus Jakarta Sans', var(--azl-font-display, system-ui), sans-serif;
	font-size: clamp(5rem, 9vw, 7.5rem);
	font-weight: 800;
	line-height: 1;
	color: var(--azl-primary-600, #0a6f80);
	opacity: 0.07;
	pointer-events: none;
	z-index: 0;
	user-select: none;
}

.azl-portal-hero__intro {
	grid-area: intro;
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	padding: 0 20px 24px 0;
}

.azl-portal-hero__eyebrow {
	margin: 0 !important;
	font-size: 10px !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--azl-primary-500, #0e8fa3) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

.azl-portal-hero__title {
	margin: 0 !important;
	font-family: 'Plus Jakarta Sans', var(--azl-font-display, system-ui), sans-serif;
	font-size: clamp(2rem, 2.6vw, 2.625rem) !important;
	font-weight: 800 !important;
	color: var(--azl-ink, #16191d) !important;
	letter-spacing: -0.03em !important;
	line-height: 1.08 !important;
}

.azl-portal-hero__subtitle {
	margin: 0 !important;
	font-size: 0.95rem !important;
	color: var(--azl-muted, #64748b) !important;
	line-height: 1.55 !important;
	max-width: 560px;
}

.azl-portal-hero__stats {
	grid-area: stats;
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	padding: 0 20px 24px 0;
}

.azl-portal-hero__stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding: 14px 16px;
	background: rgb(255 255 255 / 0.82);
	border: 1px solid rgb(15 23 42 / 0.06);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

.azl-portal-hero__stat-head {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.azl-portal-hero__stat-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgb(14 143 163 / 0.1);
	color: var(--azl-primary-500, #0e8fa3);
}

.azl-portal-hero__stat-icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.azl-portal-hero__stat strong {
	font-size: 1.25rem;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.azl-portal-hero__stat-label {
	font-size: 0.72rem;
	color: #64748B;
	font-weight: 500;
	line-height: 1.35;
}

.azl-portal-hero__stat-label--online {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.azl-portal-hero__stat-dot {
	display: block;
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22C55E;
	box-shadow: 0 0 0 2px rgb(34 197 94 / 0.2);
}

.azl-portal-hero__visual {
	grid-area: visual;
	position: relative;
	align-self: stretch;
	overflow: visible;
	min-height: 1px;
}

/*
 * Même logique que .azl-hero__figure (page d'accueil) :
 * top négatif pour la tête, bottom:0 collé au bas de la carte, overflow:hidden.
 */
.azl-portal-hero__figure {
	position: absolute;
	top: -115px;
	bottom: 0;
	right: 0;
	left: auto;
	z-index: 25;
	width: calc(100% + 20px);
	margin: 0;
	padding: 0;
	overflow: hidden;
	pointer-events: none;
}

/* Au-dessus de la topbar (150) pour dépasser le champ recherche */
body.azl-portal-community .azl-portal-hero__figure--elevated {
	position: fixed;
	z-index: 155;
	bottom: auto;
	pointer-events: none;
}

.azl-portal-hero__photo {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: top center;
	filter: drop-shadow(0 16px 32px rgb(15 23 42 / 0.15));
}

/* ── Feed pleine largeur (colonne centrale, entre hero et widgets) ───────── */

body.azl-portal-community .feed_layout > div:not(.spaces) {
	width: 100% !important;
	max-width: 100% !important;
}

body.azl-portal-community .fcom_single_layout,
body.azl-portal-community .fcom_max_layout,
body.azl-portal-community .fcom_single_layout.fcom_max_layout,
body.azl-portal-community .feeds_main,
body.azl-portal-community .fhr_content_layout,
body.azl-portal-community .no_bg_layout.fhr_content_layout,
body.azl-portal-community .fhr_content_layout > .el-scrollbar,
body.azl-portal-community .fhr_content_layout > .el-scrollbar > .el-scrollbar__wrap,
body.azl-portal-community .fhr_content_layout > .el-scrollbar > .el-scrollbar__wrap > .el-scrollbar__view {
	width: 100% !important;
	max-width: 100% !important;
}

body.azl-portal-community .fcom_main .fcom_feed_box,
body.azl-portal-community .fcom_main .feed_filters,
body.azl-portal-community .fcom_main .fcom_feed_style_timeline,
body.azl-portal-community .fcom_main .all_feeds,
body.azl-portal-community .fcom_main .create_status_holder,
body.azl-portal-community .fcom_main .fcom_each_feed,
body.azl-portal-community .fcom_main .feed_item,
body.azl-portal-community .fcom_main .fcom_feed_item,
body.azl-portal-community .fcom_main .fcom_sticky_header {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* ── Zone de publication ─────────────────────────────────────────────────── */

body.azl-portal-community .fcom_feed_box {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.azl-portal-community .create_status_holder {
	background: var(--azl-neutral-0, #ffffff) !important;
	border: 1px solid var(--azl-line, #e5e7eb) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	padding: 18px 20px !important;
	margin-bottom: 16px !important;
}

body.azl-portal-community .create_status_holder .form_placeholder {
	color: #94A3B8 !important;
	font-size: 0.9rem !important;
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 10px !important;
	padding: 0.65rem 1rem !important;
	transition: border-color 0.15s ease, background 0.15s ease !important;
}

body.azl-portal-community .create_status_holder .form_placeholder:hover {
	background: #ffffff !important;
	border-color: #CBD5E1 !important;
	color: #64748B !important;
}

/* ── Composeur de publication — charte AZL ─────────────────────────────── */

body.azl-portal-community .create_status_holder .create_header {
	padding: 0 !important;
	column-gap: 12px !important;
}

body.azl-portal-community .create_status_holder .create_header > div:first-child img {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	flex: 0 0 40px !important;
	object-fit: cover !important;
}

body.azl-portal-community .create_status_holder .create_header_content {
	overflow: visible !important;
}

body.azl-portal-community .create_status_holder .fcom_create_status_box_header {
	margin-bottom: 12px !important;
}

body.azl-portal-community .create_status_holder .fcom_create_status_box_header .feed_user_name {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: #0F172A !important;
	line-height: 1.35 !important;
}

body.azl-portal-community .create_status_holder .fcom_create_status_box_header .feed_meta_info,
body.azl-portal-community .create_status_holder .fcom_create_status_box_header .feed_timestamp {
	font-size: 0.75rem !important;
	color: #94A3B8 !important;
}

body.azl-portal-community .create_status_holder .create_header_action {
	gap: 4px !important;
}

body.azl-portal-community .create_status_holder .create_header_action .el-button,
body.azl-portal-community .create_status_holder .create_header_action button {
	color: #94A3B8 !important;
	background: transparent !important;
	border: none !important;
	min-width: 32px !important;
	min-height: 32px !important;
	padding: 6px !important;
	border-radius: 8px !important;
}

body.azl-portal-community .create_status_holder .create_header_action .el-button:hover,
body.azl-portal-community .create_status_holder .create_header_action button:hover {
	color: #1E95B0 !important;
	background: #EFF8FB !important;
}

body.azl-portal-community .create_status_holder .fcom_md_editor {
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	overflow: hidden !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.azl-portal-community .create_status_holder .fcom_md_editor:focus-within {
	border-color: #8FCEDD !important;
	box-shadow: 0 0 0 1px rgba(30, 149, 176, 0.1) !important;
}

body.azl-portal-community .create_status_holder .fcom_title_input,
body.azl-portal-community .create_status_holder .fcom_status_title_input,
body.azl-portal-community .create_status_holder .fcom_md_editor textarea {
	display: block !important;
	width: 100% !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	min-height: auto !important;
	padding: 14px 16px 12px !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid #E2E8F0 !important;
	border-radius: 0 !important;
	color: #0F172A !important;
	outline: none !important;
	box-shadow: none !important;
	resize: none !important;
}

body.azl-portal-community .create_status_holder .fcom_title_input:focus,
body.azl-portal-community .create_status_holder .fcom_title_input:focus-visible,
body.azl-portal-community .create_status_holder .fcom_status_title_input:focus,
body.azl-portal-community .create_status_holder .fcom_status_title_input:focus-visible,
body.azl-portal-community .create_status_holder .fcom_md_editor textarea:focus {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
	border-bottom: 1px solid #E2E8F0 !important;
}

body.azl-portal-community .create_status_holder .fcom_title_input:empty:not(:focus)::before {
	color: #94A3B8 !important;
	font-style: normal !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
}

body.azl-portal-community .create_status_holder .fcom_md_editor .milkdown,
body.azl-portal-community .create_status_holder .fcom_editor_with_title .milkdown {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

body.azl-portal-community .create_status_holder .fcom_editor_with_title .milkdown .ProseMirror,
body.azl-portal-community .create_status_holder .fcom_md_editor .milkdown .ProseMirror {
	padding: 12px 16px 14px !important;
	min-height: 72px !important;
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: #334155 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	background: transparent !important;
}

body.azl-portal-community .create_status_holder .fcom_editor_with_title .milkdown .ProseMirror.ProseMirror-focused,
body.azl-portal-community .create_status_holder .fcom_md_editor .milkdown .ProseMirror.ProseMirror-focused {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

body.azl-portal-community .create_status_holder .milkdown:focus-visible,
body.azl-portal-community .create_status_holder .milkdown .ProseMirror-focused {
	outline: none !important;
	box-shadow: none !important;
}

body.azl-portal-community .create_status_holder .fcom_topics_input {
	border-top: 1px solid #E2E8F0 !important;
	padding: 0 12px !important;
	background: #ffffff !important;
}

body.azl-portal-community .create_status_holder .fcom_composer_footer {
	margin-top: 12px !important;
	padding-top: 12px !important;
	border-top: 1px solid #E2E8F0 !important;
}

body.azl-portal-community .create_status_holder .fcom_composer_apps .el-button,
body.azl-portal-community .create_status_holder .fcom_composer_apps button {
	color: #64748B !important;
	background: transparent !important;
	border: none !important;
	min-width: 34px !important;
	min-height: 34px !important;
	padding: 6px !important;
	border-radius: 8px !important;
}

body.azl-portal-community .create_status_holder .fcom_composer_apps .el-button:hover,
body.azl-portal-community .create_status_holder .fcom_composer_apps button:hover {
	color: #1E95B0 !important;
	background: #EFF8FB !important;
}

body.azl-portal-community .create_status_holder .fcom_post_actions .target_label,
body.azl-portal-community .create_status_holder .fcom_post_actions .fcom_post_space_name {
	font-size: 0.8125rem !important;
	color: #64748B !important;
}

body.azl-portal-community .create_status_holder .fcom_post_actions .fcom_primary_button,
body.azl-portal-community .create_status_holder .fcom_post_actions .el-button--primary {
	min-width: 108px !important;
	padding: 8px 18px !important;
	border-radius: 999px !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}

body.azl-portal-community .create_status_holder .fcom_post_actions .el-input__wrapper:focus-within,
body.azl-portal-community .create_status_holder .fcom_post_actions .el-select__wrapper.is-focused {
	box-shadow: none !important;
	border-color: #CBD5E1 !important;
}

body.azl-portal-community .create_status_holder.state_active,
body.azl-portal-community .create_status_holder:has(.create_header.state_active) {
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
	border-color: #CBD5E1 !important;
}

body.azl-portal-community .feed_filters {
	background: var(--azl-neutral-0, #ffffff) !important;
	border: 1px solid var(--azl-line, #e5e7eb) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	padding: 10px 16px !important;
	margin-bottom: 16px !important;
}

body.azl-portal-community .fcom_feed_divider {
	display: none !important;
}

body.azl-portal-community .fcom_feed_filter_label {
	color: var(--azl-muted, #64748b) !important;
	font-size: 0.82rem !important;
}

/* ── Cartes de posts ─────────────────────────────────────────────────────── */

body.azl-portal-community .fcom_feeds .fcom_each_feed,
body.azl-portal-community .feed_item,
body.azl-portal-community .fcom_feed_item {
	background: var(--azl-neutral-0, #ffffff) !important;
	border: 1px solid var(--azl-line, #e5e7eb) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	box-shadow: none !important;
	margin-bottom: 16px !important;
	overflow: hidden !important;
}

body.azl-portal-community .fcom_feeds .fcom_each_feed:hover,
body.azl-portal-community .feed_item:hover {
	box-shadow: 0 4px 16px rgb(15 23 42 / 0.06) !important;
	border-color: #d1d5db !important;
}

/* ── Colonne droite — widgets (plugin custom-widgets) ─────────────────────── */

body.azl-portal-community .app_side_widget,
body.azl-portal-community .fcom_custom_widget {
	background: var(--azl-neutral-0, #ffffff) !important;
	border: 1px solid var(--azl-line, #e5e7eb) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	padding: 20px 22px !important;
	margin-bottom: 0 !important;
	box-shadow: none !important;
}

body.azl-portal-community .app_side_widget .box_heading,
body.azl-portal-community .app_side_widget .box_header h3,
body.azl-portal-community .app_side_widget h3,
body.azl-portal-community .fcom_custom_widget h3 {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: var(--azl-ink, #16191d) !important;
	margin: 0 0 12px !important;
}

body.azl-portal-community .app_side_widget .widget_content,
body.azl-portal-community .fcom_custom_widget .widget_content {
	font-size: 0.82rem !important;
	color: #64748B !important;
	line-height: 1.5 !important;
}

body.azl-portal-community .fcom_custom_widget a {
	color: #1E95B0 !important;
}

body.azl-portal-community .fcom_side_box.fcom_sidebar_flex_container {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 1100px) {
	body.azl-portal-community {
		--azl-portal-hero-offset: 50px;
	}

	body.azl-portal-community .fcom_main_container {
		flex-direction: column !important;
	}

	body.azl-portal-community .fcom_resp_side {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: none !important;
		padding-top: 0 !important;
	}

	body.azl-portal-community .fcom_main_side_wrap {
		position: static !important;
	}

	.azl-portal-hero__inner {
		grid-template-columns: minmax(0, 1fr) 240px;
		padding: 24px 0 0 36px;
	}

	.azl-portal-hero__figure {
		width: calc(100% + 20px);
		top: -88px;
		bottom: 0;
	}
}

@media (max-width: 900px) {
	body.azl-portal-community {
		--azl-portal-hero-offset: 0;
	}

	body.azl-portal-community .fcom_resp_side {
		margin-top: 0 !important;
	}

	.azl-portal-hero__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"intro"
			"stats"
			"visual";
		padding: 24px;
	}

	.azl-portal-hero__intro,
	.azl-portal-hero__stats {
		padding-right: 0;
	}

	.azl-portal-hero__stats {
		grid-template-columns: 1fr;
	}

	.azl-portal-hero__visual {
		display: none;
	}
}

@media (max-width: 767px) {
	body.azl-portal-community .fhr_content_layout_body {
		padding: 0 0 24px !important;
	}

	.azl-portal-hero {
		margin-bottom: 16px !important;
	}

	.azl-portal-hero__inner {
		padding: 20px 16px 0;
		min-height: auto;
	}

	.azl-portal-hero__intro {
		padding-right: 0;
	}

	.azl-portal-hero__watermark {
		display: none;
	}

	.azl-portal-hero__stats {
		gap: 10px;
		padding-right: 0;
	}
}
