/* Atelier – Programme (timeline) */
.ha-timeline__heading {
	margin: 0 0 24px;
	color: #1A1A2E;
}
.ha-timeline__item {
	display: flex;
	gap: 20px;
	position: relative;
	border-bottom: 1px solid #e5e5f0;
	padding-bottom: 28px;
	margin-bottom: 28px;
}
.ha-timeline__item:last-child {
	border-bottom: none;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.ha-timeline__marker {
	position: relative;
	flex: 0 0 auto;
	width: 14px;
	display: flex;
	justify-content: center;
}
.ha-timeline__dot {
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #F7802F;
	flex-shrink: 0;
	margin-top: 6px;
	position: relative;
	z-index: 1;
}
.ha-timeline__item:not(:last-child) .ha-timeline__marker::after {
	content: "";
	position: absolute;
	top: 20px;
	bottom: -28px;
	left: 50%;
	width: 2px;
	background: #F7802F;
	transform: translateX(-50%);
}
.ha-timeline__content {
	flex: 1 1 auto;
	min-width: 0;
}
.ha-timeline__numero {
	display: block;
	font-size: 2em;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 6px;
	color: #1A1A2E;
}
.ha-timeline__titre {
	margin: 0 0 10px;
	color: #2221E5;
}
.ha-timeline__points {
	margin: 0;
	color: #4A4A68;
	padding-left: 20px;
}
.ha-timeline__points li::marker {
	color: #F7802F;
}

/* Atelier – Modalités pédagogiques */
.ha-modalite-grid {
	display: grid;
	grid-template-columns: repeat(var(--ha-modalite-cols, 2), 1fr);
	gap: 0 32px;
	--ha-modalite-sep-color: #E5E5F0;
	--ha-modalite-sep-width: 1px;
	--ha-modalite-sep-style: solid;
}
.ha-modalite-grid--liste {
	grid-template-columns: 1fr;
}
.ha-modalite {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 22px 0;
	position: relative;
}
.ha-modalite-grid--sep-pos-bas .ha-modalite {
	border-bottom: var(--ha-modalite-sep-width) var(--ha-modalite-sep-style) var(--ha-modalite-sep-color);
}
.ha-modalite-grid--sep-pos-haut .ha-modalite {
	border-top: var(--ha-modalite-sep-width) var(--ha-modalite-sep-style) var(--ha-modalite-sep-color);
}
.ha-modalite-grid--sep-pos-droite .ha-modalite {
	border-right: var(--ha-modalite-sep-width) var(--ha-modalite-sep-style) var(--ha-modalite-sep-color);
	padding-right: 20px;
}
.ha-modalite-grid--sep-pos-gauche .ha-modalite {
	border-left: var(--ha-modalite-sep-width) var(--ha-modalite-sep-style) var(--ha-modalite-sep-color);
	padding-left: 20px;
}
.ha-modalite-grid--sep-puce_ligne.ha-modalite-grid--sep-pos-bas .ha-modalite::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-modalite-sep-color);
}
.ha-modalite-grid--sep-puce_ligne.ha-modalite-grid--sep-pos-haut .ha-modalite::after {
	content: "";
	position: absolute;
	left: 0;
	top: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-modalite-sep-color);
}
.ha-modalite-grid--sep-puce_ligne.ha-modalite-grid--sep-pos-droite .ha-modalite::after {
	content: "";
	position: absolute;
	right: -5px;
	top: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-modalite-sep-color);
}
.ha-modalite-grid--sep-puce_ligne.ha-modalite-grid--sep-pos-gauche .ha-modalite::after {
	content: "";
	position: absolute;
	left: -5px;
	top: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-modalite-sep-color);
}
.ha-modalite--icon-haut {
	flex-direction: column;
}
.ha-modalite__bullet {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #F7802F;
	flex-shrink: 0;
	margin-top: 8px;
}
.ha-modalite__icon {
	font-size: 26px;
	width: 26px;
	height: 26px;
	line-height: 1;
	flex: 0 0 auto;
}
.ha-modalite__body {
	min-width: 0;
}
.ha-modalite__libelle {
	font-weight: 700;
	margin: 0 0 4px;
}
.ha-modalite__description {
	margin: 0;
}
@media (max-width: 767px) {
	.ha-modalite-grid {
		grid-template-columns: 1fr;
	}
}

/* Atelier – Bénéfices */
.ha-benefice-grid {
	display: grid;
	grid-template-columns: repeat(var(--ha-benefice-cols, 3), 1fr);
	gap: var(--ha-benefice-gap, 20px);
	--ha-benefice-sep-color: #E5E5F0;
	--ha-benefice-sep-width: 1px;
	--ha-benefice-sep-style: solid;
}
.ha-benefice-grid--liste {
	grid-template-columns: 1fr;
}
.ha-benefice {
	text-align: center;
	padding-bottom: 20px;
	position: relative;
}
.ha-benefice-grid--sep-pos-bas .ha-benefice {
	border-bottom: var(--ha-benefice-sep-width) var(--ha-benefice-sep-style) var(--ha-benefice-sep-color);
}
.ha-benefice-grid--sep-pos-haut .ha-benefice {
	border-top: var(--ha-benefice-sep-width) var(--ha-benefice-sep-style) var(--ha-benefice-sep-color);
	padding-top: 20px;
}
.ha-benefice-grid--sep-pos-droite .ha-benefice {
	border-right: var(--ha-benefice-sep-width) var(--ha-benefice-sep-style) var(--ha-benefice-sep-color);
	padding-right: 20px;
}
.ha-benefice-grid--sep-pos-gauche .ha-benefice {
	border-left: var(--ha-benefice-sep-width) var(--ha-benefice-sep-style) var(--ha-benefice-sep-color);
	padding-left: 20px;
}
.ha-benefice-grid--sep-none .ha-benefice {
	padding-bottom: 0;
}
.ha-benefice-grid--sep-puce_ligne.ha-benefice-grid--sep-pos-bas .ha-benefice::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-benefice-sep-color);
	transform: translateX(-50%);
}
.ha-benefice-grid--sep-puce_ligne.ha-benefice-grid--sep-pos-haut .ha-benefice::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-benefice-sep-color);
	transform: translateX(-50%);
}
.ha-benefice-grid--sep-puce_ligne.ha-benefice-grid--sep-pos-droite .ha-benefice::after {
	content: "";
	position: absolute;
	right: -5px;
	top: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-benefice-sep-color);
}
.ha-benefice-grid--sep-puce_ligne.ha-benefice-grid--sep-pos-gauche .ha-benefice::after {
	content: "";
	position: absolute;
	left: -5px;
	top: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-benefice-sep-color);
}
.ha-benefice--icon-gauche {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	text-align: left;
}
.ha-benefice__puce {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin: 0 auto 8px;
}
.ha-benefice--icon-gauche .ha-benefice__puce {
	margin: 4px 0 0;
}
.ha-benefice__puce--point {
	width: var(--ha-benefice-puce-size, 8px);
	height: var(--ha-benefice-puce-size, 8px);
	border-radius: 50%;
	background: var(--ha-benefice-puce-color, #F7802F);
}
.ha-benefice__puce--check {
	width: var(--ha-benefice-puce-size, 22px);
	height: var(--ha-benefice-puce-size, 22px);
	border-radius: 50%;
	background: var(--ha-benefice-puce-color, #F7802F);
	color: #fff;
	font-size: calc(var(--ha-benefice-puce-size, 22px) * 0.55);
	line-height: 1;
}
.ha-benefice__puce--icone {
	color: var(--ha-benefice-puce-color, #F7802F);
	width: var(--ha-benefice-puce-size, 28px);
	height: var(--ha-benefice-puce-size, 28px);
	font-size: var(--ha-benefice-puce-size, 28px);
}
.ha-benefice__puce--icone i,
.ha-benefice__puce--icone svg {
	width: 100%;
	height: 100%;
}
.ha-benefice__icon {
	font-size: 32px;
	width: 32px;
	height: 32px;
	display: inline-block;
	margin-bottom: 8px;
	flex-shrink: 0;
}
.ha-benefice--icon-gauche .ha-benefice__icon {
	margin-bottom: 0;
}
.ha-benefice__texte {
	margin: 0;
}

/* Atelier – Intervenants associés */
.ha-intervenant-grid {
	display: grid;
	grid-template-columns: repeat(var(--ha-intervenant-cols, 2), 1fr);
	gap: 32px;
}
.ha-intervenant {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	text-decoration: none;
	color: inherit;
}
.ha-intervenant__photo img {
	border-radius: 50%;
	width: 84px;
	height: 84px;
	object-fit: cover;
	flex: 0 0 auto;
}
.ha-intervenant__body {
	min-width: 0;
}
.ha-intervenant__nom {
	font-weight: 700;
	margin: 0;
}
.ha-intervenant__role {
	margin: 2px 0 8px;
	font-size: 0.9em;
}
.ha-intervenant__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
	list-style: none;
	padding: 0;
}
.ha-intervenant__tag {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: #F3F3FF;
	color: #201E73;
	font-size: 0.78em;
	font-weight: 600;
}
.ha-intervenant__bio {
	margin: 0 0 8px;
}
.ha-intervenant__link {
	font-weight: 600;
	text-decoration: underline;
}
@media (max-width: 767px) {
	.ha-intervenant-grid {
		grid-template-columns: 1fr;
	}
}

/* Atelier – Carte / Ateliers similaires */
.ha-card-grid {
	display: grid;
	grid-template-columns: repeat(var(--ha-card-cols, 3), 1fr);
	gap: 24px;
}
.ha-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.ha-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.ha-card__body {
	padding: 16px;
}
.ha-card__overline {
	display: block;
	font-size: 0.8em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 6px;
}
.ha-card__title {
	margin: 0 0 8px;
}
.ha-card__teaser {
	margin: 0 0 10px;
	font-size: 0.95em;
}
.ha-card__meta {
	font-size: 0.85em;
	opacity: 0.75;
	margin-bottom: 6px;
}
.ha-card__price {
	font-weight: 700;
}

.ha-similaires__heading {
	margin: 0 0 20px;
}
.ha-similaires__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 24px;
}
.ha-similaires__pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 18px;
	border: none;
	border-radius: 999px;
	background: #F3F3FF;
	color: #201E73;
	font-size: 0.9em;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.ha-similaires__pill.is-active {
	background: #F7802F;
	color: #fff;
}
.ha-card--hidden {
	display: none !important;
}

/* Atelier – Catalogue Elementor */
.ha-catalogue-elementor-header {
	box-sizing: border-box;
	padding: 48px;
	background: #F7802F;
	color: #FFFFFF;
}
.ha-catalogue-elementor-header__content {
	max-width: 70%;
}
.ha-catalogue-elementor-header__eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.ha-catalogue-elementor-header__title {
	margin: 0 0 12px;
	color: inherit;
	font-size: 42px;
	line-height: 1.08;
}
.ha-catalogue-elementor-header__description {
	max-width: 660px;
	margin: 0 0 24px;
	font-size: 17px;
	line-height: 1.45;
}
.ha-catalogue-elementor-header__button,
.ha-catalogue-elementor-results__filters button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 6px;
	background: #2221E5;
	color: #FFFFFF;
	font-weight: 700;
	text-decoration: none;
}
.ha-catalogue-elementor-header__button span,
.ha-catalogue-elementor-results__link span,
.ha-catalogue-elementor-classification > span { margin-left: 8px; }
.ha-catalogue-elementor-classification__icon {
	display: inline-grid;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	place-items: center;
	margin-left: 8px;
	transition: color .2s ease, background-color .2s ease;
}
.ha-catalogue-elementor-classification__icon.is-circle { border-radius: 50%; }
.ha-catalogue-elementor-classification__icon.is-rounded { border-radius: 8px; }
.ha-catalogue-elementor-classification__icon.is-square { border-radius: 0; }
.ha-catalogue-elementor-classification__icon i,
.ha-catalogue-elementor-classification__icon svg { font-size: inherit !important; width: 1em; height: 1em; }
.ha-catalogue-elementor-classifications.has-no-icon-background .ha-catalogue-elementor-classification__icon,
.ha-catalogue-elementor-classifications.has-no-icon-background .ha-catalogue-elementor-classification:hover .ha-catalogue-elementor-classification__icon,
.ha-catalogue-elementor-classifications.has-no-icon-background .ha-catalogue-elementor-classification.is-active .ha-catalogue-elementor-classification__icon { background-color: transparent !important; }
.ha-catalogue-elementor-classifications,
.ha-catalogue-elementor-results { color: #201E73; }
.ha-catalogue-elementor-classifications__heading-row,
.ha-catalogue-elementor-results__heading-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}
.ha-catalogue-elementor-classifications__heading,
.ha-catalogue-elementor-results__heading { margin: 0; }
.ha-catalogue-elementor-classifications__heading-row a {
	color: #2221E5;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.ha-catalogue-elementor-classifications__grid,
.ha-catalogue-elementor-results__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.ha-catalogue-elementor-results__grid { align-items: stretch; }
.ha-catalogue-elementor-classification {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 76px;
	padding: 18px 20px;
	border: 1px solid #E4E5F4;
	border-radius: 8px;
	background: #FFFFFF;
	color: #2221E5;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(32, 30, 115, .06);
}
.ha-catalogue-elementor-classification strong { line-height: 1.25; }
.ha-catalogue-elementor-classification > strong,
.ha-catalogue-elementor-classification > span:first-child { display: block; flex: 1 1 auto; min-width: 0; margin-left: 0; overflow-wrap: break-word; }
.ha-catalogue-elementor-classification small {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 5px;
	font-size: 12px;
	font-weight: 400;
}
.ha-catalogue-elementor-classification.is-active,
.ha-catalogue-elementor-classification:hover {
	border-color: #2221E5;
	background: #2221E5;
	color: #FFFFFF;
}
.ha-catalogue-elementor-results__count { color: #F04B23; font-weight: 700; }
.ha-catalogue-elementor-results__filters {
	display: flex;
	align-items: end;
	gap: 16px;
	margin-bottom: 24px;
	padding: 20px;
	background: #F3F3FF;
}
.ha-catalogue-elementor-results__filters label {
	display: grid;
	gap: 6px;
	font-weight: 700;
}
.ha-catalogue-elementor-results__filters select {
	min-width: 190px;
	min-height: 44px;
	padding: 9px 10px;
	border: 1px solid #C8C8DC;
	border-radius: 4px;
	background: #FFFFFF;
	color: #201E73;
	font: inherit;
}
.ha-catalogue-elementor-results__item {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
}
.ha-catalogue-elementor-results .ha-card {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	height: 100%;
	max-width: 100%;
	border: 1px solid #E4E5F4;
	background: #FFFFFF;
}
.ha-catalogue-elementor-results.has-equal-height .ha-card { flex: 1 1 auto; }
.ha-catalogue-elementor-results.is-inline .ha-catalogue-elementor-results__grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.ha-catalogue-elementor-results.is-inline .ha-catalogue-elementor-results__item {
	display: grid;
	grid-template-columns: minmax(180px, 30%) minmax(0, 1fr) minmax(160px, 25%);
	align-items: center;
	gap: 28px;
	padding: 12px 0;
	border-bottom: 1px solid #E4E5F4;
}
.ha-catalogue-elementor-results.is-inline .ha-card {
	display: contents;
	box-shadow: none;
}
.ha-catalogue-elementor-results.is-inline .ha-card__media { grid-column: 1; grid-row: 1; }
.ha-catalogue-elementor-results.is-inline .ha-card__media img {
	width: 100%;
	height: 92px;
	border-radius: 8px;
	object-fit: cover;
}
.ha-catalogue-elementor-results.is-inline .ha-card__body { grid-column: 2; grid-row: 1; padding: 0; }
.ha-catalogue-elementor-results.is-inline .ha-catalogue-elementor-results__link { grid-column: 3; grid-row: 1; }
.ha-catalogue-elementor-results .ha-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	min-width: 0;
}
/* Pied de carte : plaqué en bas (margin-top: auto), position horizontale via justify-self. */
.ha-catalogue-elementor-results .ha-card__footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 12px;
	margin-top: auto;
	padding-top: 12px;
}
.ha-catalogue-elementor-results .ha-card__footer-info { min-width: 0; }
.ha-catalogue-elementor-results .ha-card__meta,
.ha-catalogue-elementor-results .ha-card__price { margin: 0; }
.ha-catalogue-elementor-results .ha-card__cta {
	display: inline-flex;
	align-items: center;
	justify-self: end;
	max-width: 100%;
	padding: 8px 14px;
	border: 1px solid #2221E5;
	border-radius: 5px;
	background: #FFFFFF;
	color: #2221E5;
	font-weight: 700;
}
.ha-catalogue-elementor-results .ha-card__cta > span { margin-left: 8px; }
.ha-catalogue-elementor-results__link {
	justify-self: start;
	color: #2221E5;
	font-weight: 700;
	text-decoration: none;
}
.ha-catalogue-elementor-results__empty { grid-column: 1 / -1; padding: 32px; background: #F3F3FF; }
.ha-catalogue-elementor-results__pagination { margin-top: 28px; }
.ha-catalogue-elementor-results__pagination ul { display: flex; gap: 8px; list-style: none; padding: 0; }
.ha-catalogue-elementor-results__pagination a,
.ha-catalogue-elementor-results__pagination span { padding: 8px 12px; background: #F3F3FF; color: #2221E5; text-decoration: none; }
@media (max-width: 767px) {
	.ha-catalogue-elementor-header { padding: 32px 24px; }
	.ha-catalogue-elementor-header__content { max-width: 100%; }
	.ha-catalogue-elementor-header__title { font-size: 32px; }
	.ha-catalogue-elementor-classifications__heading-row,
	.ha-catalogue-elementor-results__heading-row,
	.ha-catalogue-elementor-results__filters { align-items: flex-start; flex-direction: column; }
	.ha-catalogue-elementor-classifications__grid,
	.ha-catalogue-elementor-results__grid { grid-template-columns: 1fr; }
	.ha-catalogue-elementor-results__filters select,
	.ha-catalogue-elementor-results__filters label { width: 100%; }
	.ha-catalogue-elementor-results.is-inline .ha-catalogue-elementor-results__item { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
}

/* Atelier – Demande de proposition */
.ha-elementor-proposal-form .ha-proposal {
	box-sizing: border-box;
	max-width: 760px;
	margin: 0 auto;
	padding: 48px 24px;
	color: #201E73;
}
.ha-elementor-proposal-form .ha-proposal__header { margin-bottom: 28px; }
.ha-elementor-proposal-form .ha-proposal__eyebrow { margin: 0; color: #F7802F; font-weight: 700; text-transform: uppercase; }
.ha-elementor-proposal-form .ha-proposal__header h1 { margin: 4px 0 0; color: #201E73; font-size: 38px; }
.ha-elementor-proposal-form .ha-proposal__form { padding: 28px; border: 1px solid #E5E5F0; background: #FFFFFF; }
.ha-elementor-proposal-form .ha-proposal__step { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border: 0; padding: 0; }
.ha-elementor-proposal-form .ha-proposal__step[hidden] { display: none; }
.ha-elementor-proposal-form .ha-proposal__step legend { width: 100%; margin-bottom: 20px; color: #2221E5; font-size: 24px; font-weight: 700; }
.ha-elementor-proposal-form .ha-proposal__step label { display: grid; gap: 6px; font-weight: 700; }
.ha-elementor-proposal-form .ha-proposal__step input,
.ha-elementor-proposal-form .ha-proposal__step select,
.ha-elementor-proposal-form .ha-proposal__step textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 9px 10px; border: 1px solid #C8C8DC; border-radius: 4px; background: #FFFFFF; color: #201E73; font: inherit; }
.ha-elementor-proposal-form .ha-proposal__full { grid-column: 1 / -1; }
.ha-elementor-proposal-form .ha-proposal__actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; }
.ha-elementor-proposal-form .ha-proposal__actions button { min-height: 44px; padding: 10px 18px; border: 0; border-radius: 6px; background: #F7802F; color: #FFFFFF; font: inherit; font-weight: 700; cursor: pointer; }
.ha-elementor-proposal-form .ha-proposal__back { margin-right: auto; background: #F3F3FF !important; color: #2221E5 !important; }
.ha-elementor-proposal-form .ha-proposal__submit { margin-left: auto; }
@media (max-width: 700px) {
	.ha-elementor-proposal-form .ha-proposal { padding: 32px 16px; }
	.ha-elementor-proposal-form .ha-proposal__step { grid-template-columns: 1fr; }
	.ha-elementor-proposal-form .ha-proposal__full { grid-column: auto; }
	.ha-elementor-proposal-form .ha-proposal__header h1 { font-size: 30px; }
}

/* Atelier – Hero */
.ha-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
}
.ha-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: stretch;
	min-height: 440px;
}
.ha-hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	padding: 56px clamp(24px, 4vw, 56px) 56px clamp(24px, 6vw, 72px);
}
.ha-hero__badge {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.8em;
}
.ha-hero__title {
	margin: 0;
	font-size: clamp(32px, 3.6vw, 52px);
	line-height: 1.08;
	letter-spacing: -1px;
}
.ha-hero__accroche {
	margin: 0;
	font-size: 1.05em;
	line-height: 1.5;
	max-width: 480px;
}
.ha-hero__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin-top: 8px;
}
.ha-hero__cta {
	display: inline-flex;
	align-items: center;
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
}
.ha-hero__link {
	text-decoration: underline;
	font-weight: 600;
}
.ha-hero__media {
	position: relative;
	min-height: 320px;
}
.ha-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: relative;
	z-index: 1;
}
.ha-hero__decor {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	overflow: visible;
}
.ha-hero__decor::before,
.ha-hero__decor::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	aspect-ratio: 1 / 1;
	border: 2px solid rgba(255, 255, 255, 0.6);
	border-radius: 50%;
}
.ha-hero__decor::before {
	width: 78%;
}
.ha-hero__decor::after {
	width: 50%;
	border-color: rgba(255, 255, 255, 0.85);
}
@media (max-width: 767px) {
	.ha-hero__grid {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.ha-hero__text {
		padding: 32px 24px 40px;
	}
	.ha-hero__media {
		min-height: 260px;
	}
}

/* Atelier – Infos pratiques (standalone bar) */
.ha-infos-pratiques {
	position: relative;
	background: #fff;
	border-radius: 20px;
	padding: 22px 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: space-between;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}
.ha-infos-pratiques__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	white-space: nowrap;
	padding-right: 24px;
}
.ha-infos-pratiques__item:not(:last-child) {
	border-right: 1px solid #E5E5F0;
}
.ha-infos-pratiques__item .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}
@media (max-width: 767px) {
	.ha-infos-pratiques {
		border-radius: 16px;
		justify-content: flex-start;
	}
	.ha-infos-pratiques__item {
		flex: 1 1 45%;
		white-space: normal;
		border-right: none !important;
		padding-right: 0;
	}
}

/* Atelier – Programme (aside: offre + prochaine session) */
.ha-programme-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
}
.ha-programme-layout--with-aside {
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	align-items: start;
}
.ha-programme-aside {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.ha-programme-offer {
	background: #F7802F;
	color: #fff;
	border-radius: 16px;
	padding: 28px;
}
.ha-programme-offer__title {
	margin: 0 0 16px;
	color: #fff;
}
.ha-programme-offer__list {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ha-programme-offer__list li {
	position: relative;
	padding-left: 26px;
}
.ha-programme-offer__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
}
.ha-programme-offer__cta {
	display: inline-flex;
	align-items: center;
	padding: 12px 24px;
	border-radius: 999px;
	background: #fff;
	color: #F7802F;
	font-weight: 700;
	text-decoration: none;
}
.ha-programme-session {
	background: #fff;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.ha-programme-session .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
	color: #F7802F;
	flex: 0 0 auto;
}
.ha-programme-session__label {
	display: block;
	font-size: 0.75em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #F7802F;
	margin-bottom: 4px;
}
.ha-programme-session__date {
	display: block;
	font-weight: 700;
}
.ha-programme-session__location {
	display: block;
	opacity: 0.75;
	font-size: 0.9em;
	margin-top: 2px;
}
.ha-programme-session__link {
	display: inline-block;
	margin-top: 8px;
	font-weight: 600;
	text-decoration: underline;
}
@media (max-width: 900px) {
	.ha-programme-layout--with-aside {
		grid-template-columns: 1fr;
	}
}

/* Atelier – Programme (grille), 2e composant : horizontal ou vertical */
.ha-prog2__heading {
	margin: 0 0 12px;
}
.ha-prog2__subheading {
	margin: 0 0 32px;
	max-width: 640px;
}
.ha-prog2 {
	display: grid;
	gap: var(--ha-prog2-gap, 32px);
	--ha-prog2-sep-color: #E5E5F0;
	--ha-prog2-sep-width: 1px;
	--ha-prog2-sep-style: solid;
	--ha-prog2-gap: 32px;
	--ha-prog2-badge-size: 48px;
	--ha-prog2-line-color: #F7802F;
	--ha-prog2-line-thickness: 3px;
}
.ha-prog2--horizontal {
	grid-template-columns: repeat(var(--ha-prog2-cols, 3), 1fr);
	align-items: start;
}
.ha-prog2--vertical {
	grid-template-columns: 1fr;
}
.ha-prog2__item {
	position: relative;
}
.ha-prog2--icon-gauche .ha-prog2__item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.ha-prog2__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.ha-prog2--icon-haut .ha-prog2__icon {
	display: block;
	margin-bottom: 12px;
}
.ha-prog2__body {
	min-width: 0;
}
.ha-prog2__numero {
	display: block;
	font-size: 2em;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 8px;
}
.ha-prog2__numero-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--ha-prog2-badge-size);
	height: var(--ha-prog2-badge-size);
	border-radius: 50%;
	background: #F7802F;
	color: #fff;
	font-weight: 800;
	font-size: 1.1em;
	line-height: 1;
	margin-bottom: 16px;
	position: relative;
	z-index: 1;
}
.ha-prog2__titre {
	margin: 0 0 10px;
}
p.ha-prog2__content {
	margin: 0;
}
ul.ha-prog2__content {
	margin: 0;
	padding-left: 20px;
}
ul.ha-prog2__content li {
	margin-bottom: 4px;
}
.ha-prog2--horizontal.ha-prog2--sep-pos-gauche.ha-prog2--sep-ligne .ha-prog2__item:not(:first-child),
.ha-prog2--horizontal.ha-prog2--sep-pos-gauche.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:first-child) {
	border-left: var(--ha-prog2-sep-width) var(--ha-prog2-sep-style) var(--ha-prog2-sep-color);
	padding-left: 24px;
}
.ha-prog2--horizontal.ha-prog2--sep-pos-droite.ha-prog2--sep-ligne .ha-prog2__item:not(:last-child),
.ha-prog2--horizontal.ha-prog2--sep-pos-droite.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:last-child) {
	border-right: var(--ha-prog2-sep-width) var(--ha-prog2-sep-style) var(--ha-prog2-sep-color);
	padding-right: 24px;
}
.ha-prog2--vertical.ha-prog2--sep-pos-bas.ha-prog2--sep-ligne .ha-prog2__item:not(:last-child),
.ha-prog2--vertical.ha-prog2--sep-pos-bas.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:last-child) {
	border-bottom: var(--ha-prog2-sep-width) var(--ha-prog2-sep-style) var(--ha-prog2-sep-color);
	padding-bottom: 24px;
}
.ha-prog2--vertical.ha-prog2--sep-pos-haut.ha-prog2--sep-ligne .ha-prog2__item:not(:first-child),
.ha-prog2--vertical.ha-prog2--sep-pos-haut.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:first-child) {
	border-top: var(--ha-prog2-sep-width) var(--ha-prog2-sep-style) var(--ha-prog2-sep-color);
	padding-top: 24px;
}
.ha-prog2--horizontal.ha-prog2--sep-pos-gauche.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:first-child)::before {
	content: "";
	position: absolute;
	left: -5px;
	top: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-prog2-sep-color);
}
.ha-prog2--horizontal.ha-prog2--sep-pos-droite.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:last-child)::before {
	content: "";
	position: absolute;
	right: -5px;
	top: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-prog2-sep-color);
}
.ha-prog2--vertical.ha-prog2--sep-pos-bas.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-prog2-sep-color);
}
.ha-prog2--vertical.ha-prog2--sep-pos-haut.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:first-child)::before {
	content: "";
	position: absolute;
	left: 0;
	top: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ha-prog2-sep-color);
}

/* Atelier – Programme (grille) : ligne reliant les cercles, bord à bord entre deux étapes */
.ha-prog2--connector.ha-prog2--horizontal .ha-prog2__item:not(:last-child)::after {
	content: "";
	position: absolute;
	left: var(--ha-prog2-badge-size);
	top: calc(var(--ha-prog2-badge-size) / 2 - var(--ha-prog2-line-thickness) / 2);
	width: calc(100% + var(--ha-prog2-gap) - var(--ha-prog2-badge-size));
	height: var(--ha-prog2-line-thickness);
	background: var(--ha-prog2-line-color);
	z-index: 0;
}
.ha-prog2--connector.ha-prog2--vertical .ha-prog2__item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: var(--ha-prog2-badge-size);
	left: calc(var(--ha-prog2-badge-size) / 2 - var(--ha-prog2-line-thickness) / 2);
	height: calc(100% + var(--ha-prog2-gap) - var(--ha-prog2-badge-size));
	width: var(--ha-prog2-line-thickness);
	background: var(--ha-prog2-line-color);
	z-index: 0;
}
@media (max-width: 767px) {
	.ha-prog2--horizontal {
		grid-template-columns: 1fr;
	}
	.ha-prog2--connector.ha-prog2--horizontal .ha-prog2__item:not(:last-child)::after {
		left: calc(var(--ha-prog2-badge-size) / 2 - var(--ha-prog2-line-thickness) / 2);
		top: var(--ha-prog2-badge-size);
		width: var(--ha-prog2-line-thickness);
		height: calc(100% + var(--ha-prog2-gap) - var(--ha-prog2-badge-size));
	}
	.ha-prog2--horizontal.ha-prog2--sep-ligne .ha-prog2__item,
	.ha-prog2--horizontal.ha-prog2--sep-puce_ligne .ha-prog2__item {
		border-left: none !important;
		border-right: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.ha-prog2--horizontal.ha-prog2--sep-ligne .ha-prog2__item:not(:first-child),
	.ha-prog2--horizontal.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:first-child) {
		border-top: var(--ha-prog2-sep-width) var(--ha-prog2-sep-style) var(--ha-prog2-sep-color);
		padding-top: 24px;
	}
	.ha-prog2--horizontal.ha-prog2--sep-puce_ligne .ha-prog2__item::before {
		content: none;
	}
	.ha-prog2--horizontal.ha-prog2--sep-puce_ligne .ha-prog2__item:not(:first-child)::before {
		content: "";
		position: absolute;
		left: 0;
		right: auto;
		top: -5px;
		bottom: auto;
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: var(--ha-prog2-sep-color);
	}
}

/* Atelier – Infos pratiques : variante "inline" (intégrée au hero) */
.ha-infos-pratiques--inline {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
	gap: 20px;
}
.ha-infos-pratiques--inline .ha-infos-pratiques__item {
	color: #fff;
	border-right-color: rgba(255, 255, 255, 0.35);
}
.ha-infos-pratiques--inline .ha-infos-pratiques__item .dashicons {
	color: #fff;
}

/* Atelier – Résultats */
.ha-resultats__heading {
	margin: 0 0 32px;
	color: #201E73;
}
.ha-resultats-grid {
	display: grid;
	grid-template-columns: repeat(var(--ha-resultats-cols, 3), 1fr);
	gap: 32px;
}
.ha-resultat__titre {
	margin: 0 0 10px;
	color: #F7802F;
}
.ha-resultat__texte {
	margin: 0;
	color: #4A4A68;
	line-height: 1.65;
}
@media (max-width: 767px) {
	.ha-resultats-grid {
		grid-template-columns: 1fr;
	}
}

/* Atelier – Publics & versions */
.ha-publics-versions__heading {
	margin: 0 0 32px;
	color: #201E73;
}
.ha-publics-versions-grid {
	display: grid;
	grid-template-columns: repeat(var(--ha-publics-versions-cols, 2), 1fr);
	gap: 40px;
}
.ha-publics-versions__col-titre {
	margin: 0 0 12px;
	color: #F7802F;
}
.ha-publics-versions__col-accroche {
	margin: 0 0 14px;
	color: #4A4A68;
}
.ha-publics-versions__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ha-publics-versions__col li {
	position: relative;
	padding-left: 20px;
	color: #201E73;
	line-height: 1.5;
}
.ha-publics-versions__col li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #2221E5;
}
@media (max-width: 767px) {
	.ha-publics-versions-grid {
		grid-template-columns: 1fr;
	}
}

/* Atelier – Animation */
.ha-animation__heading {
	margin: 0 0 28px;
	color: #201E73;
}
.ha-animation__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}
.ha-animation__text {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}
.ha-animation__icon {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 2px solid #F7802F;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #F7802F;
}
.ha-animation__icon .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
}
.ha-animation__texte {
	margin: 0;
	color: #4A4A68;
	line-height: 1.65;
}
.ha-animation__reperes {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ha-animation__reperes li {
	position: relative;
	padding-left: 26px;
	color: #201E73;
	font-weight: 600;
}
.ha-animation__reperes li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	color: #F7802F;
	font-weight: 700;
}
@media (max-width: 900px) {
	.ha-animation__grid {
		grid-template-columns: 1fr;
	}
}

/* Atelier – CTA final */
.ha-cta-final {
	background: #F7802F;
	border-radius: 16px;
	padding: 48px;
	text-align: center;
}
.ha-cta-final__titre {
	margin: 0 0 12px;
	color: #fff;
}
.ha-cta-final__texte {
	margin: 0 auto 28px;
	max-width: 640px;
	color: rgba(255, 255, 255, 0.92);
}
.ha-cta-final__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 24px;
}
.ha-cta-final__primary {
	display: inline-flex;
	align-items: center;
	background: #fff;
	color: #F7802F;
	font-weight: 700;
	padding: 14px 28px;
	border-radius: 999px;
	text-decoration: none;
}
.ha-cta-final__secondary {
	display: inline-flex;
	align-items: center;
	color: #fff;
	font-weight: 600;
	text-decoration: underline;
}
@media (max-width: 767px) {
	.ha-cta-final {
		padding: 32px 24px;
	}
	.ha-cta-final__actions {
		flex-direction: column;
	}
}
