/* SODAPI — fiche formation : sections colonne 1 + encart prochaine session. */

/* Puce ✓ commune aux listes formation.
   Reprend le tracé Font Awesome `fa-check` utilisé par le widget Elementor
   « Liste d'icônes » (.elementor-icon-list-icon > svg.e-fas-check), rendu ici
   en masque CSS pour rester colorable et éviter du markup en dur.
   La couleur suit la palette globale Elementor quand elle est disponible. */
.sodapi-formation-section__body,
.sodapi-formations-cat {
	--sodapi-check-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
	--sodapi-check-size: .85em;
	--sodapi-check-gap: .7em;
	--sodapi-check-color: var(--e-global-color-d49ac81, #10b981);
}

/* Encadré de section (maquette) : fond très clair, angles arrondis 3px. */
.sodapi-formation-section {
	--sodapi-section-bg: #FBFBFB;
	--sodapi-section-padding: 1.75rem;
	--sodapi-section-radius: 3px;
	
	padding: var(--sodapi-section-padding);
	border-radius: var(--sodapi-section-radius);
	background-color: var(--sodapi-section-bg);
	scroll-margin-top: 100px; /* compense un header sticky pour l'ancrage */
}

@media (max-width: 640px) {
	.sodapi-formation-section { --sodapi-section-padding: 1.25rem; }
}

/* Titre de section : typographie globale Elementor.
   Sélecteur volontairement porté par le parent (spécificité 0,2,0) pour passer
   devant le Theme Style d'Elementor (`.elementor-kit-N h3`, 0,1,1) sans
   recourir à !important. */
.sodapi-formation-section .sodapi-formation-section__title {
	margin-block: 0 .75rem;
	font-size: var( --e-global-typography-d3dae9a-font-size );
	font-weight: var( --e-global-typography-d3dae9a-font-weight );
	font-style: var( --e-global-typography-d3dae9a-font-style );
	line-height: var( --e-global-typography-d3dae9a-line-height );
}

.sodapi-formation-section__body > :first-child {
	margin-block-start: 0;
}

.sodapi-formation-section__body ul {
	list-style: none;
	padding-inline-start: 0;
	margin-block: .5rem; margin-block-end: 1rem;
}

.sodapi-formation-section__body li {
	margin-block-end: .35rem;
}

/* Prochaine session (colonne 2) */
.sodapi-next-session {
	display: flex;
	flex-direction: column;
	gap: .4rem;
}

.sodapi-next-session__date {
	font-weight: 700;
}

.sodapi-next-session__lieu {
	opacity: .85;
}

.sodapi-next-session--empty {
	opacity: .7;
	font-style: italic;
}

/* Repli du carrousel de sessions ([sodapi_sessions_empty]) : rendu uniquement
   quand la formation n'a aucune session à venir. */
.sodapi-sessions-empty {
	opacity: .7;
	font-style: italic;
}

/* Grille « Découvrez nos formations » (shortcode sodapi_formations_par_thematique) */
.sodapi-formations-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(var(--sodapi-cols, 4), minmax(0, 1fr));
}

.sodapi-formations-grid--cols-1 { --sodapi-cols: 1; }
.sodapi-formations-grid--cols-2 { --sodapi-cols: 2; }
.sodapi-formations-grid--cols-3 { --sodapi-cols: 3; }
.sodapi-formations-grid--cols-4 { --sodapi-cols: 4; }
.sodapi-formations-grid--cols-5 { --sodapi-cols: 5; }
.sodapi-formations-grid--cols-6 { --sodapi-cols: 6; }

@media (max-width: 1024px) {
	.sodapi-formations-grid { --sodapi-cols: 2 !important; }
}

@media (max-width: 640px) {
	.sodapi-formations-grid { --sodapi-cols: 1 !important; }
}

/* Carte thématique */
.sodapi-formations-cat {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.5rem;
	border: 1px solid #e5e7eb;
	background: #fff; border-radius: 3px;
}

.sodapi-formations-cat__title {
	margin-block: 0 .75rem;
}

.sodapi-formations-cat__title a.sodapi-formations-cat__title-link {
	font-family: inherit; font-weight:inherit;
	color: inherit;
	font-size: inherit;
	line-height: 1;
	text-decoration: none;
}

.sodapi-formations-cat__title-link:hover,
.sodapi-formations-cat__title-link:focus-visible {
	text-decoration: underline;
}

.sodapi-formations-cat__desc {
	margin-block-end: 1rem;
}

.sodapi-formations-cat__desc > :first-child { margin-block-start: 0; }
.sodapi-formations-cat__desc > :last-child  { margin-block-end: 0; }

.sodapi-formations-cat__examples-label {
	margin-block-end: .5rem;
	font-weight: 500;
}

.sodapi-formations-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.25rem 0;
}

.sodapi-formations-list__item {
	margin-block-end: .35rem;
}

/* Rendu de la puce ✓ : sections de la fiche + listes des cartes thématique. */
.sodapi-formation-section__body ul > li,
.sodapi-formations-list__item {
	position: relative;
	padding-inline-start: calc(var(--sodapi-check-size) + var(--sodapi-check-gap));
}

.sodapi-formation-section__body ul > li::before,
.sodapi-formations-list__item::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	width: var(--sodapi-check-size);
	height: 1.5em; /* ≈ une ligne de texte pour les navigateurs sans unité lh */
	height: 1lh;
	background-color: var(--sodapi-check-color);
	-webkit-mask: var(--sodapi-check-icon) no-repeat center / var(--sodapi-check-size) var(--sodapi-check-size);
	mask: var(--sodapi-check-icon) no-repeat center / var(--sodapi-check-size) var(--sodapi-check-size);
}

.sodapi-formations-list__item a {
	text-decoration: underline;
}

/* Bouton « Voir les formations » — poussé en bas de carte */
a.sodapi-formations-cat__cta {
	display: inline-flex;
	align-self: flex-start;
	margin-block-start: auto;
	padding: .5rem 1rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	text-decoration: none;
	line-height: 1.2;
	color:var(--sodapi-check-color); border-color:var(--sodapi-check-color)
}
