/* =============================================================================
   Page module Formation — maquette s7 (hero + grille + sidebar widgets)
   ============================================================================= */

body.azl-portal-module .fhr_content_layout_body {
	padding: 0 var(--azl-layout-page-padding-x, 30px) 40px !important;
	max-width: none !important;
}

body.azl-portal-module .fhr_content_layout_header,
body.azl-portal-module .fcom_sticky_header .fhr_content_layout_header {
	display: none !important;
}

body.azl-portal-module .azl-module {
	display: flex;
	flex-direction: column;
	gap: 22px;
	width: 100%;
	box-sizing: border-box;
}

/* Grille leçons + sidebar — sous le hero pleine largeur */
body.azl-portal-module .azl-module__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	gap: 22px;
	align-items: start;
	width: 100%;
	box-sizing: border-box;
}

body.azl-portal-module .azl-module__main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

body.azl-portal-module .azl-module__aside {
	min-width: 0;
	position: sticky;
	top: 16px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

body.azl-portal-module .azl-module-sidebar {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	min-width: 0;
}

/* ── Hero module (pleine largeur, jauge à droite) ────────────────────────── */

body.azl-portal-module .azl-module-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	padding: 28px 30px;
	border-radius: 16px;
	background: linear-gradient(150deg, var(--azl-primary-700, #0e5a68), var(--azl-primary-500, #0b7d92));
	color: #fff;
	box-sizing: border-box;
}

body.azl-portal-module .azl-module-hero__text {
	flex: 1 1 auto;
	min-width: 0;
}

body.azl-portal-module .azl-module-hero__ring {
	position: relative;
	flex: 0 0 auto;
	margin-left: auto;
	width: 104px;
	height: 104px;
}

body.azl-portal-module .azl-module-hero__eyebrow {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #7fd4e2;
	margin-bottom: 6px;
}

body.azl-portal-module .azl-module-hero__title {
	margin: 0 0 9px;
	font-size: 31px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
}

body.azl-portal-module .azl-module-hero__desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #b9ccd2;
	max-width: 560px;
}

body.azl-portal-module .azl-module-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 18px;
}

body.azl-portal-module .azl-module-hero__chip {
	display: inline-flex;
	align-items: center;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.22);
	font-size: 12px;
	font-weight: 700;
	color: #e8f6f9;
}

body.azl-portal-module .azl-module-hero__chip[hidden] {
	display: none;
}

body.azl-portal-module .azl-module-hero__ring-val {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1.15;
}

body.azl-portal-module .azl-module-hero__ring-val b {
	font-size: 20px;
	font-weight: 800;
}

body.azl-portal-module .azl-module-hero__ring-val s {
	text-decoration: none;
	font-size: 11px;
	color: #a9d5de;
	font-weight: 700;
}

/* Boîte Fluent transparente (le chrome AZL prend le relais) */
body.azl-portal-module .azl-module__main .fcom_feed_box.course_box,
body.azl-portal-module .azl-module__main .fcom_card_sections {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	border-radius: 0 !important;
}

/* Intro / titre course Fluent (remplacés par hero + « Les leçons ») */
body.azl-portal-module .azl-module__main .fcom_course_intro,
body.azl-portal-module .azl-module__main .fcom_courses_header,
body.azl-portal-module .azl-module__main .course_header_wrap,
body.azl-portal-module .azl-module__main .fcom_course_progress_footer,
body.azl-portal-module .azl-module__main .fcom_course_info,
body.azl-portal-module .azl-module__main .fcom_course_labels,
body.azl-portal-module .azl-module__main .fcom_course_details,
body.azl-portal-module .azl-module__main .course_contents_header {
	display: none !important;
}

/* Progression + Formateur Fluent — remplacés par hero / sidebar AZL */
body.azl-portal-module .fcom_resp_side,
body.azl-portal-module .fcom_main_side_wrap,
body.azl-portal-module .app_side_widget.course_widget,
body.azl-portal-module aside.fcom_resp_side,
body.azl-portal-module .fcom-tile-layout .el-aside.fcom_resp_side,
body.azl-portal-module .fcom-tile-layout .fcom_resp_side,
body.azl-portal-module .fcom-tile-layout .app_side_widget.course_widget {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
	order: 0 !important;
	flex: 0 0 0 !important;
}

/* Conteneur Fluent : une seule colonne (écrase aussi course-grid) */
body.azl-portal-module .fcom_resp_container.fcom_main_container,
body.azl-portal-module .fcom_course_view_layout .fcom_resp_container,
body.azl-portal-module .fcom-tile-layout .el-container.fcom_main_container {
	display: block !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: none !important;
}

body.azl-portal-module .fcom_course_view_layout .fcom_main,
body.azl-portal-module .azl-module__main .fcom_main {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	flex: 1 1 auto !important;
}

/* En-tête « Les leçons » (injecté JS) */
body.azl-portal-module .azl-module-lessons-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 4px 0 12px;
	flex-wrap: wrap;
}

body.azl-portal-module .azl-module-lessons-head__title {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	color: var(--azl-ink, #0f172a);
	letter-spacing: -0.02em;
}

body.azl-portal-module .azl-module-lessons-head__sub {
	font-size: 13px;
	font-weight: 600;
	color: var(--azl-muted, #9ca3af);
}

/* ── Modules (accordéon) + grille leçons 4 cols ─────────────────────────── */

body.azl-portal-module .azl-module__main .fcom_course_sections,
body.azl-portal-module .azl-module__main .fcom_section_primary,
body.azl-portal-module .fcom-tile-layout .fcom_section_primary {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	margin: 0 !important;
	width: 100% !important;
	grid-template-columns: none !important;
}

body.azl-portal-module .azl-module__main .fcom_section_primary {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

/* Toggle module — style AZL */
body.azl-portal-module .azl-module__main .fcom_section_primary_item {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	background: #fff !important;
	border: 1px solid var(--azl-line, #e2e8f0) !important;
	border-radius: 12px !important;
	padding: 14px 18px !important;
	margin: 0 0 12px !important;
	box-shadow: none !important;
	overflow: visible !important;
	min-height: 0 !important;
	cursor: pointer;
}

body.azl-portal-module .azl-module__main .fcom_section_primary_item.is_closed {
	margin-bottom: 0 !important;
}

body.azl-portal-module .azl-module__main .fcom_section_primary_item h4 {
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	color: var(--azl-ink, #0f172a) !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

body.azl-portal-module .azl-module__main .fcom_section_primary_item .fcom_meta_text {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--azl-muted, #9ca3af) !important;
}

body.azl-portal-module .azl-module__main .fcom_section_primary_item_actions,
body.azl-portal-module .azl-module__main .fcom_section_primary_item .fcom_arrow_icon {
	color: var(--azl-primary-600, #0a6f80) !important;
}

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

body.azl-portal-module .azl-module-lessons-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 0 8px !important;
}

/* Ne pas styler le toggle module comme une carte leçon */
body.azl-portal-module .azl-module__main .fcom_section_primary_item.azl-module-lcard,
body.azl-portal-module .azl-module__main .fcom_section_primary_item {
	transform: none !important;
}

body.azl-portal-module .azl-module__main .fcom_section_primary_item .azl-module-lcard__num,
body.azl-portal-module .azl-module__main .fcom_section_primary_item .azl-module-lcard__badge {
	display: none !important;
}

body.azl-portal-module .azl-module__main .fcom_section_item,
body.azl-portal-module .azl-module__main .azl-module-lcard {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	background: #fff !important;
	border: 1px solid var(--azl-line, #e2e8f0) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

body.azl-portal-module .azl-module__main .fcom_section_item:hover,
body.azl-portal-module .azl-module__main .azl-module-lcard:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.09);
}

body.azl-portal-module .azl-module__main .fcom_section_item.is_locked {
	opacity: 0.92;
}

body.azl-portal-module .azl-module__main .fcom_section_item a,
body.azl-portal-module .azl-module__main .fcom_section_item .fcom_section_item_title {
	color: inherit !important;
	text-decoration: none !important;
}

/* Contenu Fluent d’origine : hors écran (garde le clic Vue) */
body.azl-portal-module .azl-module-lcard__sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.azl-portal-module .azl-module-lcard__thumb {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	background: linear-gradient(150deg, var(--azl-primary-700, #0e5a68), var(--azl-primary-500, #0b7d92));
	box-sizing: border-box;
	overflow: hidden;
	flex-shrink: 0;
}

body.azl-portal-module .azl-module-lcard__thumb-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	z-index: 0;
	pointer-events: none;
}

body.azl-portal-module .azl-module-lcard__thumb.has-image::after {
	display: none;
}

body.azl-portal-module .azl-module-lcard__num {
	display: none !important;
}

/* Pastille statut : coche verte quand la leçon est vue */
body.azl-portal-module .azl-module-lcard__badge {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

body.azl-portal-module .azl-module-lcard__badge--done {
	background: #16a34a;
	color: #fff;
}

body.azl-portal-module .azl-module-lcard__badge svg {
	width: 12px;
	height: 12px;
	display: block;
}

body.azl-portal-module .azl-module-lcard__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 14px 14px 16px;
	background: #fff;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 88px;
}

body.azl-portal-module .azl-module-lcard__title {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	color: var(--azl-ink, #0f172a);
	letter-spacing: -0.01em;
}

body.azl-portal-module .azl-module-lcard__duration {
	margin: auto 0 0;
	padding-top: 10px;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--azl-muted, #9ca3af);
	display: block !important;
}

body.azl-portal-module .azl-module-lcard__duration:empty,
body.azl-portal-module .azl-module-lcard__duration[hidden] {
	display: none !important;
}

@media (max-width: 1100px) {
	body.azl-portal-module .azl-module-lessons-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 700px) {
	body.azl-portal-module .azl-module-lessons-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ── Communauté ──────────────────────────────────────────────────────────── */

body.azl-portal-module .azl-module-community,
body.azl-portal-module .azl-module__main .course_comments,
body.azl-portal-module .azl-module__main .fcom_course_comment {
	background: #fff !important;
	border: 1px solid var(--azl-line, #e2e8f0) !important;
	border-radius: 14px !important;
	padding: 18px 20px !important;
	margin-top: 6px !important;
}

body.azl-portal-module .azl-module-community__eyebrow {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--azl-primary-600, #0a6f80);
	margin-bottom: 12px;
}

/* ── Widgets sidebar ─────────────────────────────────────────────────────── */

body.azl-portal-module .azl-module-widget {
	background: #fff;
	border: 1px solid var(--azl-line, #e2e8f0);
	border-radius: 14px;
	padding: 16px 16px 18px;
	box-sizing: border-box;
}

body.azl-portal-module .azl-module-widget--next {
	background: linear-gradient(150deg, var(--azl-primary-700, #0e5a68), var(--azl-primary-500, #0b7d92));
	border: none;
	color: #fff;
}

body.azl-portal-module .azl-module-widget__eyebrow {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--azl-primary-600, #0a6f80);
	margin-bottom: 10px;
}

body.azl-portal-module .azl-module-widget--next .azl-module-widget__eyebrow {
	color: #9fe4f2;
}

body.azl-portal-module .azl-module-widget__eyebrow--gold {
	color: #a85f00;
}

body.azl-portal-module .azl-module-widget__next-title {
	font-size: 15.5px;
	font-weight: 800;
	line-height: 1.4;
	margin-bottom: 5px;
}

body.azl-portal-module .azl-module-widget__next-meta {
	font-size: 12.5px;
	color: #a9d5de;
	margin-bottom: 16px;
	min-height: 1em;
}

body.azl-portal-module .azl-module-widget--next a.azl-module-widget__continue,
body.azl-portal-module .azl-module-widget--next a.azl-module-widget__continue:link,
body.azl-portal-module .azl-module-widget--next a.azl-module-widget__continue:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border-radius: 10px;
	border: 1px solid #fff !important;
	background: #fff !important;
	color: var(--azl-primary-700, #0a5461) !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

body.azl-portal-module .azl-module-widget--next a.azl-module-widget__continue:hover,
body.azl-portal-module .azl-module-widget--next a.azl-module-widget__continue:focus {
	background: var(--azl-primary-50, #f0fafc) !important;
	border-color: var(--azl-primary-50, #f0fafc) !important;
	color: var(--azl-primary-800, #0a5461) !important;
}

body.azl-portal-module .azl-module-widget__next-empty {
	margin: 0;
	font-size: 13px;
	color: #a9d5de;
}

body.azl-portal-module .azl-module-tools {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.azl-portal-module .azl-module-tools__item {
	display: grid;
	grid-template-columns: 10px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: start;
}

body.azl-portal-module .azl-module-tools__dot {
	width: 8px;
	height: 8px;
	margin-top: 6px;
	border-radius: 50%;
	background: var(--azl-primary-400, #14b8cf);
}

body.azl-portal-module .azl-module-tools__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

body.azl-portal-module .azl-module-tools__text strong {
	font-size: 13px;
	font-weight: 800;
	color: var(--azl-ink, #0f172a);
	line-height: 1.3;
}

body.azl-portal-module .azl-module-tools__text em {
	font-style: normal;
	font-size: 11.5px;
	color: var(--azl-muted, #9ca3af);
}

body.azl-portal-module .azl-module-tools__lock {
	font-size: 12px;
	line-height: 1;
	margin-top: 3px;
}

body.azl-portal-module .azl-module-widget__note {
	margin: 13px 0 0;
	font-size: 11.5px;
	line-height: 1.6;
	color: var(--azl-muted, #9ca3af);
}

body.azl-portal-module .azl-module-widget__unlock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #c97816;
	color: #fff !important;
	font-size: 13.5px;
	font-weight: 800;
	text-decoration: none !important;
}

body.azl-portal-module .azl-module-widget__unlock:hover {
	background: #b06812;
	color: #fff !important;
}

body.azl-portal-module .azl-module-widget__unlock[hidden] {
	display: none !important;
}

body.azl-portal-module .azl-module-webinar {
	display: flex;
	gap: 13px;
	align-items: center;
}

body.azl-portal-module .azl-module-webinar__date {
	width: 52px;
	flex-shrink: 0;
	text-align: center;
	background: #f6f8f9;
	border-radius: 10px;
	padding: 9px 0;
}

body.azl-portal-module .azl-module-webinar__date strong {
	display: block;
	font-size: 19px;
	font-weight: 800;
	color: var(--azl-ink, #0f172a);
	line-height: 1.1;
}

body.azl-portal-module .azl-module-webinar__date span {
	display: block;
	font-size: 9px;
	letter-spacing: 0.11em;
	color: #8b949e;
	font-weight: 700;
	margin-top: 2px;
}

body.azl-portal-module .azl-module-webinar__title {
	font-size: 13px;
	font-weight: 800;
	color: var(--azl-ink, #0f172a);
}

body.azl-portal-module .azl-module-webinar__sub {
	font-size: 11.5px;
	color: #9ca3af;
	margin-top: 2px;
}

body.azl-portal-module .azl-module-webinar__zoom {
	display: inline-flex;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 700;
	color: var(--azl-primary-600, #0a6f80);
	text-decoration: none;
}

body.azl-portal-module .azl-module-webinar__zoom:hover {
	text-decoration: underline;
}

body.azl-portal-module .azl-module-webinar__zoom[hidden] {
	display: none !important;
}

body.azl-portal-module .azl-module-widget__ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	margin-top: 14px;
	padding: 10px 14px;
	border-radius: 10px;
	border: 1px solid var(--azl-primary-500, #0e8fa3);
	background: #fff;
	color: var(--azl-primary-600, #0a6f80) !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
	font-family: inherit;
}

body.azl-portal-module .azl-module-widget__ghost:hover {
	background: var(--azl-primary-50, #e6f7fa);
}

body.azl-portal-module .azl-module-resources {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 280px;
	overflow-y: auto;
}

body.azl-portal-module .azl-module-resources li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #374151;
	line-height: 1.4;
}

body.azl-portal-module .azl-module-resources__link {
	display: flex;
	align-items: center;
	gap: 8px;
	color: inherit;
	text-decoration: none;
	min-width: 0;
}

body.azl-portal-module .azl-module-resources__link:hover {
	color: var(--azl-primary-700, #0b6b7a);
	text-decoration: underline;
}

body.azl-portal-module .azl-module-resources__icon {
	flex-shrink: 0;
}

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

@media (max-width: 1100px) {
	body.azl-portal-module .azl-module__body {
		grid-template-columns: 1fr;
	}

	body.azl-portal-module .azl-module__aside {
		position: static;
	}
}

@media (max-width: 700px) {
	body.azl-portal-module .azl-module-hero {
		flex-direction: column;
		align-items: flex-start;
		padding: 22px 18px;
	}

	body.azl-portal-module .azl-module-hero__title {
		font-size: 24px;
	}

	body.azl-portal-module .azl-module__main .fcom_course_sections {
		grid-template-columns: 1fr;
	}
}
