/**
Theme Name: Template SO
Author: StandOut
Author URI: [https://standout-france.fr](https://standout-france.fr/)
Text Domain: template-so
Template: astra

/!\ Essayer de mettre les classes dans l'ordre sémantique de la page
*/

:root {
	--approche_xxs: 4px;
	--approche_xs: 8px;
	--approche_s: 12px;
	--approche_m: 16px;
	--approche_l: 24px;
	--approche_xl: 32px;
	--approche_xxl: 40px;
	--approche_xxxl: 52px;

	--margin_s: 64px;
	--margin_m: 122px;
	--margin_l: 162px;
	--margin_xl: 260px;
	--margin_xxl: 358px;

	--padding_s: 20px;
	--padding_m: 28px;
	--padding_l: 32px;
	--padding_xl: 36px;
	--padding_xxl: 40px;
	--padding_xxxl: 52px;
	--padding_section_1: 72px;
	--padding_section_2: 80px;
	--padding_section_3: 102px;

	/* Couleurs charte graphique */
	--color-primary: #184762;
	--color-accent: #E84A6D;
	--color-bg: #F4F0F3;
	--color-text-muted: #776979;
	--color-surface: #FFFFFF;
}

/* ==========================================================================
   Global — empecher le scroll horizontal cause par les elements 100vw
   ========================================================================== */

html, body {
	overflow-x: hidden;
}

/* ==========================================================================
   Menu — Bold au hover + page active
   ========================================================================== */

.elementor-nav-menu--layout-horizontal .elementor-item:hover,
.elementor-nav-menu--layout-horizontal .menu-item.current-menu-item .elementor-item {
	-webkit-text-stroke-width: 0.6px;
}

/* Bouton "Nous contacter" header — meme taille que Ressources, fond bleu plein */
.elementor-element-4e2daeb .elementor-button {
	background: var(--color-primary, #184762) !important;
	color: #FFFFFF !important;
	border: 2px solid var(--color-primary, #184762) !important;
	border-radius: 50px !important;
	padding: 7px 20px !important;
	font-size: 16px !important;
	transition: background 0.3s ease, border-color 0.3s ease;
}

.elementor-element-4e2daeb .elementor-button:hover {
	background: var(--color-accent, #E84A6D) !important;
	border-color: var(--color-accent, #E84A6D) !important;
	color: #FFFFFF !important;
}

/* ==========================================================================
   Pages intérieures — Hero compact (hors accueil)
   ========================================================================== */

body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-parent > .e-con-inner > .elementor-element h1.elementor-heading-title {
	font-size: 40px !important;
	line-height: 1.2 !important;
}

body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-parent > .e-con-inner > .elementor-element h2.elementor-heading-title {
	font-size: 32px !important;
	line-height: 1.2 !important;
}

body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-parent > .e-con-inner > .elementor-element h3.elementor-heading-title {
	font-size: 24px !important;
	line-height: 1.3 !important;
}

body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-parent.linear:first-of-type > .e-con-inner {
	padding-top: 32px !important;
	padding-bottom: 0 !important;
}

/* Marge avant le footer — toutes les pages interieures
   Le background evite la zone blanche entre le dernier bloc colore et le footer */
body:not(.home) .site-content {
	padding-bottom: 80px;
	background: var(--color-bg);
}

body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-parent.linear:first-of-type .elementor-widget-text-editor {
	font-size: 17px !important;
	line-height: 1.6 !important;
}

@media (max-width: 767px) {
	body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-parent > .e-con-inner > .elementor-element h1.elementor-heading-title {
		font-size: 28px !important;
	}
	body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-parent > .e-con-inner > .elementor-element h2.elementor-heading-title {
		font-size: 24px !important;
	}
}

/* ==========================================================================
   Ressources (single) — harmonisation des typographies sur les pages
   interieures. Les ressources sont rendues en data-elementor-type="single-post"
   (≠ "wp-page"), donc les regles ci-dessus ne s'y appliquent pas. On les
   reproduit ici, scopees a .single-ressource pour ne pas toucher les articles.
   ========================================================================== */

body.single-ressource [data-elementor-type="single-post"] .elementor-widget-theme-post-title .elementor-heading-title {
	font-size: 40px !important;
	line-height: 1.2 !important;
}

body.single-ressource [data-elementor-type="single-post"] h2.elementor-heading-title {
	font-size: 32px !important;
	line-height: 1.2 !important;
}

body.single-ressource [data-elementor-type="single-post"] .elementor-widget-theme-post-excerpt {
	font-size: 17px !important;
	line-height: 1.6 !important;
}

body.single-ressource [data-elementor-type="single-post"] .elementor-widget-text-editor {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

@media (max-width: 767px) {
	body.single-ressource [data-elementor-type="single-post"] .elementor-widget-theme-post-title .elementor-heading-title {
		font-size: 28px !important;
	}
	body.single-ressource [data-elementor-type="single-post"] h2.elementor-heading-title {
		font-size: 24px !important;
	}
}

/* Sous-titre ressource (shortcode [ressource_sous_titre]).
   3 contextes :
   - Cartes (base) : bleu, gras, casse normale, aligne comme le titre de carte.
   - Single (hero) : style "surtitre" rose, majuscules, centre, colle au titre.
   - Carte mise en avant (fond bleu fonce) : blanc, majuscules, centre. */
.ressource-sous-titre {
	margin: 4px 0 0;
	color: var(--color-primary);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: normal;
}

/* Au survol de la carte, le sous-titre passe en blanc comme les autres textes */
.loop_ress:hover .ressource-sous-titre {
	color: var(--color-surface);
}

/* Listing ressources — hauteur égale par rangée (chaque rangée s'ajuste à sa
   card la plus haute, les rangées pouvant différer entre elles), et tags
   directement sous le contenu au lieu d'être poussés en bas (plus de grand
   espace blanc). grid-auto-rows:auto rend les rangées indépendantes ;
   align-items:stretch égalise les cards d'une même rangée. */
.elementor-loop-container:has(.loop_ress) {
	grid-auto-rows: auto !important;
	align-items: stretch !important;
}
.loop_ress .e-con-inner {
	justify-content: flex-start !important;
}

/* Modèle ressource unique — titre de section 1 (champ titre_section_1_ref,
   ex. « Pourquoi consulter ce blog ? »). Le widget heading sortait en H3 36px
   (plus gros que les H2 32px de la page). On l'harmonise avec le label
   « POUR QUI ? » en face : Nunito 15px, gras, majuscules.
   ATTENTION : cible l'ID du widget Elementor (348aba61) ; si le modèle
   « Template - Ressource unique » est resauvegardé, vérifier que l'ID tient. */
.elementor-element-348aba61 .elementor-heading-title {
	font-size: 15px !important;
	font-weight: 900 !important;
	font-family: 'Nunito', sans-serif !important;
	text-transform: uppercase !important;
}

/* Modèle ressource unique — section image + texte (« Une ressource concrète… »).
   La rangée était figée à 900px alors que la section dispose d'~1103px : ~200px
   d'espace perdu sur les côtés, et image+texte du coup trop étroits (410px chacun).
   On élargit la rangée pour exploiter toute la largeur de la section, en gardant
   un ratio 50/50 (image et texte grandissent ensemble, ~520px chacun).
   Scopé desktop pour ne pas perturber l'empilement mobile/tablette.
   ATTENTION : cible les IDs de widgets du modèle (71b2b1be / 47fcf8e / 585d213) ;
   à revérifier si « Template - Ressource unique » est resauvegardé. */
@media (min-width: 1025px) {
	.elementor-element-71b2b1be {
		width: 100% !important;
		gap: 64px !important;
	}
	.elementor-element-47fcf8e,
	.elementor-element-585d213 {
		flex: 1 1 0 !important;
		width: auto !important;
	}
}

/* Modèle ressource — image : adoucir l'ombre portée (modèle : 20px 20px 20px 20px
   décalée et étalée, trop imposante) → ombre douce centrée (--shadow-lg du DS). */
.elementor-element-47fcf8e img {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

/* Single — hero : rose, majuscules, centre, rapproche du titre */
body.single-ressource [data-elementor-type="single-post"] .ressource-sous-titre {
	margin-top: -16px;
	color: var(--color-accent);
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-align: center;
}

/* Carte mise en avant (fond bleu) : majuscules en blanc.
   Sous-titre rapproche du titre (lie) et espace avant le paragraphe. */
.ressource_mise_en_avant .ressource-sous-titre {
	margin-top: -18px;
	margin-bottom: 16px;
	color: var(--color-surface);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-align: center;
}

/* Carte mise en avant — resume un peu plus petit (20px par defaut, trop gros) */
.ressource_mise_en_avant .elementor-widget-theme-post-excerpt,
.ressource_mise_en_avant .elementor-widget-theme-post-excerpt p {
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* ==========================================================================
   Articles (single) — harmonisation des typographies, calquee sur les
   ressources. Les articles sont rendus en data-elementor-type="single-post",
   on scope a body.single-post pour ne pas toucher les autres single-post
   (ressource, parcours, moyen_action, partenaire).
   Tailles demandees : titre hero 40, paragraphe hero 17, H2 32, H3 15 (maj),
   paragraphe 15 ; le tout en Nunito. Responsive 28/24 sur mobile.
   ========================================================================== */
body.single-post [data-elementor-type="single-post"] .elementor-widget-theme-post-title .elementor-heading-title {
	font-size: 40px !important;
	line-height: 1.2 !important;
	font-family: 'Nunito', sans-serif !important;
}

body.single-post [data-elementor-type="single-post"] h2.elementor-heading-title {
	font-size: 32px !important;
	line-height: 1.2 !important;
	font-family: 'Nunito', sans-serif !important;
}

body.single-post [data-elementor-type="single-post"] h3.elementor-heading-title {
	font-size: 15px !important;
	line-height: 1.3 !important;
	font-weight: 900 !important;
	font-family: 'Nunito', sans-serif !important;
	text-transform: uppercase !important;
}

body.single-post [data-elementor-type="single-post"] .elementor-widget-text-editor {
	font-size: 15px !important;
	line-height: 1.6 !important;
	font-family: 'Nunito', sans-serif !important;
}

/* Paragraphe du hero = 17px (chapo eventuel place sous le titre, dans le
   conteneur hero du modele « Template - Article unique »).
   ATTENTION : cible l'ID du conteneur hero (376b7fd) ; a revérifier si le
   modele 4103 est resauvegarde. */
body.single-post [data-elementor-type="single-post"] .elementor-element-376b7fd .elementor-widget-text-editor {
	font-size: 17px !important;
}

@media (max-width: 767px) {
	body.single-post [data-elementor-type="single-post"] .elementor-widget-theme-post-title .elementor-heading-title {
		font-size: 28px !important;
	}
	body.single-post [data-elementor-type="single-post"] h2.elementor-heading-title {
		font-size: 24px !important;
	}
}

/* --------------------------------------------------------------------------
   Actualité (single, modèle 4103) — bloc d'intro à la largeur du corps.
   L'intro était bridée à 900px alors que le reste du corps (section 2-colonnes,
   boutons) occupe la largeur de la boîte (~1103px), d'où une zone de texte plus
   étroite que le reste et une page plus haute. On étire l'intro pour qu'elle
   remplisse la boîte, sans élargir toute la section (la pleine largeur du menu
   donnait des lignes trop longues).
   -------------------------------------------------------------------------- */
body.single-post [data-elementor-type="single-post"] .elementor-element-537b620b {
	width: 100% !important;
	max-width: none !important;
}

/* --------------------------------------------------------------------------
   Ressource (single, modèle 5115) — description à la largeur du corps.
   Même principe que l'actualité : la description (excerpt) sous le titre était
   bridée (~700px) alors que le corps occupe la boîte (~1103px). On élargit son
   conteneur d'en-tête et la description pour qu'elle remplisse la boîte (le
   titre, les bulles et la meta restent centrés).
   -------------------------------------------------------------------------- */
.elementor-5115 .elementor-element-413bb189 {
	width: 100% !important;
	max-width: none !important;
}

.elementor-5115 .elementor-element-345d6141 {
	width: 100% !important;
	max-width: none !important;
}

/* --------------------------------------------------------------------------
   Sous-titre article (champ ACF sous_titre_article, injecte sous le titre via
   le filtre elementor/widget/render_content). Memes contextes que ressource :
   - Carte (.loop_actu) : bleu, gras, casse normale ; blanc au survol.
   - Single (hero) : rose, majuscules, centre, rapproche du titre.
   -------------------------------------------------------------------------- */
.article-sous-titre {
	margin: 4px 0 0;
	color: var(--color-primary);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: normal;
}

.loop_actu:hover .article-sous-titre {
	color: var(--color-text);
}

body.single-post [data-elementor-type="single-post"] .article-sous-titre {
	margin-top: 8px;
	color: var(--color-accent);
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-align: center;
}

/* Carte mise en avant — termes en pastilles blanches separees.
   Bug : le widget terms_ressources mettait une bordure autour de TOUTE la liste
   (un seul cadre) avec les termes colles en inline. On retire le cadre global
   et on transforme chaque terme en pastille (comme les cartes normales). */
.ressource_mise_en_avant .terms_ressources .elementor-post-info__terms-list {
	border: none !important;
	padding: 0 !important;
}

.ressource_mise_en_avant .terms_ressources .elementor-post-info__terms-list-item {
	display: inline-block;
	margin: 4px;
	padding: 6px 12px;
	border: 1px solid var(--color-surface);
	border-radius: 6px;
	line-height: 1.2;
}

/* Bulles thématique (parent + enfants) des cartes ressources : wrap propre en
   responsive. Les bulles étaient en display:inline → leur bordure se cassait au
   passage à la ligne et les bulles se chevauchaient (carte à la une, archives
   thématiques) en dessous d'environ 600px. On les rend atomiques (inline-flex)
   pour qu'elles passent à la ligne d'un bloc, sans se chevaucher. */
.taxonomy-separated .elementor-post-info__terms-list-item.taxonomy-parent,
.taxonomy-separated .elementor-post-info__terms-list-item.taxonomy-child {
	display: inline-flex !important;
	align-items: center;
	white-space: nowrap;
	vertical-align: top;
	margin: 0 4px 8px !important;
}
/* Espace entre l'icône et le libellé dans la pastille parent (sinon l'icône est
   collée au texte). */
.taxonomy-separated .elementor-post-info__terms-list-item.taxonomy-parent {
	gap: 6px;
}

/* Carte mise en avant — ressource avec UNE SEULE thématique (sans enfants) :
   le script « separateTaxonomies » exige ≥2 termes, il saute donc cette carte
   et l'icône reste hors du cadre (le cadre ne ceint que le libellé). On porte
   alors le cadre sur le <li> entier (icône + libellé) et on neutralise le cadre
   interne, pour que l'icône soit dans le cadre comme sur les autres cartes.
   `:not(:has(.taxonomy-parent))` = uniquement quand le script n'a pas tourné. */
.ressource_mise_en_avant .terms_ressources .elementor-icon-list-item:not(:has(.taxonomy-parent)) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 4px;
	padding: 6px 12px;
	border: 1px solid var(--color-surface);
	border-radius: 6px;
	line-height: 1.2;
}
.ressource_mise_en_avant .terms_ressources .elementor-icon-list-item:not(:has(.taxonomy-parent)) .elementor-post-info__terms-list-item {
	border: none;
	padding: 0;
	margin: 0;
}
.ressource_mise_en_avant .terms_ressources .elementor-icon-list-item:not(:has(.taxonomy-parent)) .elementor-icon-list-icon {
	margin: 0;
	display: inline-flex;
	align-items: center;
}

/* Carte mise en avant (fond sombre) : icône de la pastille thématique en blanc
   (le SVG utilise fill:currentColor → on force la couleur). Vaut pour les deux
   cas (script exécuté = .taxonomy-parent, ou non). */
.ressource_mise_en_avant .terms_ressources .elementor-icon-list-icon,
.ressource_mise_en_avant .terms_ressources .elementor-icon-list-icon svg {
	color: #fff;
	fill: #fff;
}

/* G (RDV cliente 04/09) — Cartes ressources (normales ET mises en avant) :
   n'afficher que les 3 premières thématiques ; les suivantes sont masquées
   (la cliente peut en cocher plus, seules les 3 premières s'affichent). */
.loop_ress .elementor-post-info__terms-list-item:nth-child(n+4),
.ressource_mise_en_avant .elementor-post-info__terms-list-item:nth-child(n+4) {
	display: none !important;
}

/* G — Cartes ressources (normales ET mises en avant) : résumé tronqué à
   5 lignes maximum, suivi de « … » (uniquement sur les cartes, pas sur la
   fiche ressource complète). */
.loop_ress .elementor-widget-theme-post-excerpt .elementor-widget-container,
.ressource_mise_en_avant .elementor-widget-theme-post-excerpt .elementor-widget-container {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	overflow: hidden;
}

/* Cartes ressource (loop_ress, ex. parcours) : en ≤767px le conteneur interne
   passait en flex-direction:column + flex-wrap:wrap (réglage responsive), donc
   avec la hauteur de carte le contenu se répartissait en 2 colonnes et le tag
   thématique (Scolarité…) partait à droite, hors de la carte. On force le
   contenu à rester sur une seule colonne. */
@media (max-width: 767px) {
	.loop_ress > .e-con-inner {
		flex-wrap: nowrap !important;
	}
}

/* Blocs CTA (gradient rose « linear_rose » : « Besoin d'aide ? », « Restons en
   contact », etc.) : en mobile, tous en plein bord-à-bord (full bg), sans
   arrondi ni ombre, pour une présentation homogène. Certains étaient encore
   encadrés (marges + coins arrondis) selon la page ; on uniformise. Desktop
   inchangé (blocs boxés/arrondis). */
@media (max-width: 767px) {
	.linear_rose {
		border-radius: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(-50vw + 50%) !important;
		box-shadow: none !important;
	}
}

/* Centre Ressources — grille partenaires : la LARGEUR du bloc ARS « Soutenu &
   financé par » (span de colonnes = remplir l'espace restant de sa ligne) est
   calculée dynamiquement en PHP selon le nombre de partenaires et injectée en
   <style> (voir `crpo_partenaires_financeur_repeat` dans functions.php).
   `grid-column: 1 / -1` fixe est à ÉVITER : il forçait une ligne pleine largeur
   à part au lieu de compléter la ligne des logos. */

/* Boîte financeur ARS : centrer le contenu (titre « Soutenu & financé par » + logo)
   horizontalement ET verticalement dans la bannière pleine largeur.
   ATTENTION : aca1e02 est un conteneur « boxed » → le contenu vit dans le
   sous-wrapper `.e-con-inner`, qui gère la disposition flex (colonne). On centre
   donc à la fois le wrapper interne et son contenu. */
body .elementor-6923 .elementor-element.elementor-element-1a23553 .elementor-repeater-item-49eb980 .elementor-element-aca1e02 {
	justify-content: center !important;
	align-items: center !important;
}
body .elementor-6923 .elementor-element.elementor-element-1a23553 .elementor-repeater-item-49eb980 .elementor-element-aca1e02 > .e-con-inner {
	height: 100% !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

/* ==========================================================================
   Header — Bouton hamburger : cible tactile 44x44px (WCAG)
   ========================================================================== */

#container-menu .elementor-menu-toggle {
	min-width: 44px;
	min-height: 44px;
	padding: 11px;
}

/* ==========================================================================
   Header — Logo rond debordant
   Le CSS etait dans post-11.css (page 11 Elementor). Deplace ici pour
   qu'il s'applique quelle que soit la page d'accueil.
   ========================================================================== */

@media (min-width: 1024px) {
	.logo-header_alt {
		margin-bottom: -130px;
		width: 242px;
	}

	#header-main {
		height: 106px;
	}
}

@media (min-width: 1024px) and (max-width: 1180px) {
	#logo-header:has(.logo-header_alt) {
		width: 150px !important;
	}

	.logo-header_alt {
		margin-bottom: -50px;
		width: 140px;
	}
}

/* 1181–1760px : logo rond réduit (180px). Au-delà de 1300px, le grand logo
   (242px) débordait sur la ligne « Newsletter » du hero (haut à gauche, plus
   haute que le bas du logo dans cette bande). Le grand logo ne reprend qu'à
   partir de 1761px, où le hero descend assez pour dégager le logo. */
@media (min-width: 1181px) and (max-width: 1760px) {
	#logo-header:has(.logo-header_alt) {
		width: 180px !important;
	}

	.logo-header_alt {
		margin-bottom: -80px;
		width: 180px;
	}
}

/* Header — Logo réduit en mode hamburger (tablette/mobile) */
@media (max-width: 1023px) {
	#logo-header:has(.logo-header_alt) {
		width: 100px !important;
	}

	.logo-header_alt {
		width: 100px;
		margin-bottom: -40px;
	}

	#header-main {
		height: auto;
		min-height: 60px;
	}
}

/* ==========================================================================
   Header — Menu desktop : bande étroite tablette-paysage (1025–1120px)
   Juste au-dessus du breakpoint burger (1024px), le menu horizontal + les
   deux boutons + le logo sont à l'étroit : le menu débordait sur deux lignes
   et « Nous contacter » se coupait. On resserre légèrement l'espacement et la
   typo dans cette bande pour tout garder sur une seule ligne.
   ========================================================================== */
@media (min-width: 1025px) and (max-width: 1120px) {
	.elementor-element-41b3d0e .elementor-nav-menu--main .elementor-item {
		margin-left: 6px !important;
		margin-right: 6px !important;
		font-size: 13px !important;
	}

	.elementor-element-4e2daeb .elementor-button,
	.elementor-element-57e5cfb .elementor-button {
		font-size: 14px !important;
		padding: 7px 14px !important;
	}
}

/* « Nous contacter » ne doit jamais se couper sur deux lignes (toutes largeurs) */
.elementor-element-4e2daeb .elementor-button {
	white-space: nowrap !important;
}

/* ==========================================================================
   Bloc Parcours — Wrapper homepage
   ========================================================================== */

.parcours-homepage-wrapper {
	background: transparent;
	padding: 24px 0 32px;
}

.parcours-homepage-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.parcours-homepage-heading {
	border-left: 4px solid #E84A6D;
	padding-left: 16px;
	margin-bottom: 16px;
}

.parcours-homepage-surtitle {
	font-size: 16px;
	font-weight: 700;
	color: #184762;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0;
	line-height: 1.25;
}

.parcours-homepage-title {
	font-size: 24px;
	font-weight: 700;
	font-style: italic;
	color: #E84A6D;
	margin: 0;
	line-height: 1.25;
}

.parcours-homepage-inner p.parcours-homepage-subtitle {
	font-size: 18px;
	font-style: italic;
	color: #061D2B;
	margin: 8px 0 96px;
	padding-left: 20px;
}

/* ==========================================================================
   Bloc Parcours — Cartes
   ========================================================================== */

.parcours-cards-section {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.parcours-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto auto;
	gap: 24px;
}

/* Familles : grande carte, colonne 1, spanning 2 rows */
.parcours-cards-grid .parcours-card:nth-child(1) {
	grid-column: 1;
	grid-row: 1 / 3;
}

/* Pro : colonne 2, row 1 */
.parcours-cards-grid .parcours-card:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
}

/* Droit commun : petit, colonne 3, row 1 */
.parcours-cards-grid .parcours-card:nth-child(4) {
	grid-column: 3;
	grid-row: 1;
}

/* Institution : grande carte, colonnes 2-3, row 2 */
.parcours-cards-grid .parcours-card:nth-child(3) {
	grid-column: 2 / 4;
	grid-row: 2;
}

/* Survol parcours : le redimensionnement de la grille (bento réarrangé au
   survol) a été retiré — il provoquait un saut de mise en page jugé pénible à
   la lecture. Les cartes gardent désormais leur taille ; seul le dégradé de
   fond réagit au survol (voir .parcours-card:hover::after plus bas). */

.parcours-card {
	border-radius: 16px;
	padding: 28px;
	transition: all 0.3s ease;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #fff;
	position: relative;
	overflow: hidden;
	min-height: 280px;
	border: none;
	background: #184762;
	text-align: left;
}

.parcours-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	z-index: 0;
	transition: opacity 0.4s ease;
}

.parcours-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(6, 29, 43, 0.92) 0%,
		rgba(24, 71, 98, 0.7) 40%,
		rgba(24, 71, 98, 0.45) 70%,
		rgba(24, 71, 98, 0.3) 100%
	);
	z-index: 1;
	transition: background 0.4s ease;
}

.parcours-card:hover::before {
	opacity: 0;
}

/* Hover rose-orange : Familles (1) et Sensibilisation (4) */
.parcours-card:nth-child(1):hover::after,
.parcours-card:nth-child(4):hover::after {
	background: linear-gradient(
		135deg,
		#EE7E4B 0%,
		#EC686E 50%,
		#EB587B 100%
	);
}

/* Hover bleu : Professionnel (2) et Institution (3) */
.parcours-card:nth-child(2):hover::after,
.parcours-card:nth-child(3):hover::after {
	background: linear-gradient(
		160deg,
		#0B2A3C 0%,
		#184762 100%
	);
}

/* Image de fond dynamique (via --card-bg défini inline) */
.parcours-card--has-thumb::before {
	background-image: var(--card-bg);
}

/* Sans image : dégradé coloré permanent (comme au hover) */
.parcours-card--no-thumb:nth-child(1)::after,
.parcours-card--no-thumb:nth-child(4)::after {
	background: linear-gradient(
		135deg,
		#EE7E4B 0%,
		#EC686E 50%,
		#EB587B 100%
	);
}
.parcours-card--no-thumb:nth-child(2)::after,
.parcours-card--no-thumb:nth-child(3)::after {
	background: linear-gradient(
		160deg,
		#0B2A3C 0%,
		#184762 100%
	);
}
.parcours-card--no-thumb::before {
	display: none;
}

.parcours-card > * {
	position: relative;
	z-index: 2;
}

/* Contenu extra au hover */
.parcours-card-hover-extra {
	display: none;
}

.parcours-card:hover .parcours-card-hover-extra {
	display: block;
}

/* Description sous la citation, sans trait */
.parcours-card-hover-extra--quote {
	padding-left: 16px;
	margin-bottom: 16px;
}

/* Liste séparée avec espace */
.parcours-card-hover-extra--list {
	margin-bottom: 12px;
}

.parcours-card-hover-desc {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

.parcours-card-hover-intro {
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
}

.parcours-card-hover-list {
	list-style: none;
	padding: 0;
	margin: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.parcours-card-hover-list li {
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.9);
	padding-left: 16px;
	position: relative;
}

.parcours-card-hover-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 7px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
}

.parcours-card:hover {
	box-shadow: 0 12px 32px rgba(0,0,0,0.25);
	transform: translateY(-4px);
	color: #fff;
}

.parcours-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

img.parcours-card-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 2px solid rgba(255, 255, 255, 0.4);
}

div.parcours-card-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: linear-gradient(135deg, #EE7E4B, #EB587B);
	flex-shrink: 0;
}

.parcours-card-tag {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 6px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	backdrop-filter: blur(4px);
}

.parcours-card-quote {
	border-left: 3px solid rgba(255, 255, 255, 0.5);
	padding-left: 16px;
	margin: 0 0 16px;
}


.parcours-card-quote p {
	font-size: 17px;
	font-style: italic;
	color: #fff;
	line-height: 1.6;
	margin: 0;
}

.parcours-card-footer {
	margin-top: auto;
}

.parcours-card-accroche {
	font-size: 14px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 8px;
}

.parcours-card-cta {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: gap 0.2s ease;
}

.parcours-card:hover .parcours-card-cta {
	gap: 10px;
}

/* Responsive tablette */
@media (max-width: 900px) {
	.parcours-cards-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
	}
	.parcours-cards-grid .parcours-card:nth-child(1),
	.parcours-cards-grid .parcours-card:nth-child(2),
	.parcours-cards-grid .parcours-card:nth-child(3),
	.parcours-cards-grid .parcours-card:nth-child(4) {
		grid-column: auto;
		grid-row: auto;
	}
}

/* Responsive mobile */
@media (max-width: 600px) {
	.parcours-cards-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ==========================================================================
   Homepage — Banniere gradient : elargir la zone de texte
   ========================================================================== */

body.home [data-id="e05f658"] .elementor-widget-text-editor {
	max-width: 900px !important;
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
}

/* ==========================================================================
   Homepage — Masquer les blocs deplaces vers d'autres pages
   ========================================================================== */

/* "Comprendre le polyhandicap" heading + texte + bouton */
body.home [data-id="b2e3d07"],
body.home [data-id="fe9f2fc"],
body.home [data-id="0b493c2"] {
	display: none !important;
}

/* "Nos missions" banniere */
body.home [data-id="2fb323d"] {
	display: none !important;
}

/* Le container parent 13d1224 reste visible (contient s'adresse a qui, actus, ressources) */

/* ==========================================================================
   Bloc "C'est quoi ?" — Homepage
   ========================================================================== */

.cestquoi-homepage-wrapper {
	background: linear-gradient(135deg, #EE7E4B 0%, #EC686E 50%, #EB587B 100%);
	border-radius: 32px;
	max-width: 1200px;
	margin: 48px auto 0;
	padding: 64px 48px;
	text-align: center;
}

.cestquoi-homepage-surtitle {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	color: #fff !important;
	letter-spacing: 1px;
	margin-bottom: 4px;
}

.cestquoi-homepage-title {
	font-size: 32px;
	font-weight: 800;
	color: #fff !important;
	line-height: 1.25;
	margin-bottom: 24px;
}

.cestquoi-homepage-text {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.9) !important;
	max-width: 750px;
	margin: 0 auto 16px;
	line-height: 1.6;
}

.cestquoi-homepage-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	padding: 12px 24px;
	border-radius: 9999px;
	font-family: "Myriad Variable Concept", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	background: transparent !important;
	color: #fff !important;
	border: 2px solid rgba(255, 255, 255, 0.7);
	transition: all 0.2s ease;
}

.cestquoi-homepage-btn:hover {
	background: transparent !important;
	color: #fff !important;
	border-color: #fff;
}

@media (max-width: 767px) {
	.cestquoi-homepage-wrapper {
		margin: 24px 16px;
		padding: 48px 28px;
		border-radius: 28px;
	}
	.cestquoi-homepage-title {
		font-size: 28px;
	}
}

@media (max-width: 480px) {
	.cestquoi-homepage-wrapper {
		padding: 40px 20px;
		border-radius: 24px;
	}
	.cestquoi-homepage-title {
		font-size: 24px;
	}
}

/* === Hero V2 === */
.elementor-element-hero_v2_01 {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	align-items: center !important;
	gap: 40px;
	padding: 80px 5% 0 10%;
	min-height: auto;
	overflow: visible !important;
	background: transparent !important;
	position: relative;
	transition: padding-top 0.3s ease;
}

/* Quand le header sticky a les effets actifs (logo horizontal apres scroll), reduire le padding */
body.sticky-logo-horizontal .elementor-element-hero_v2_01 {
	padding-top: 10px;
}

/* En mode sticky horizontal, swapper le logo rond → horizontal */
body.sticky-logo-horizontal .logo-header_alt {
	display: none !important;
}

body.sticky-logo-horizontal #logo-header img:not(.logo-header_alt) {
	display: block !important;
}

body.sticky-logo-horizontal #header-main {
	height: auto !important;
}


/* Dégradé hero — mauve/lavande charte #E2D9E3 → #F4F0F3, en diagonale haut-droit → bas-gauche */
.elementor-element-hero_v2_01::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: -700px;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(
		to bottom left,
		#E2D9E3 0%,
		#E2D9E3 12%,
		#F4F0F3 62%,
		#F4F0F3 100%
	);
}

.elementor-element-hero_v2_01 > * {
	position: relative;
	z-index: 1;
}

.elementor-element-hero_v2_left {
	flex: 0 0 48% !important;
	max-width: 48% !important;
	padding-top: 0 !important;
}

.elementor-element-hero_v2_left h1 {
	font-size: 52px !important;
	line-height: 1.15 !important;
	margin-top: -12px !important;
}

.elementor-element-hero_v2_left h2 {
	font-size: 22px !important;
	line-height: 1.4 !important;
}

[data-id="hero_v2_para"] .elementor-widget-container {
	line-height: 1.35 !important;
}

[data-id="hero_v2_para"] p {
	display: inline !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
}

[data-id="hero_v2_para"] p + p::before {
	content: ' ';
}

.elementor-element-hero_v2_left .elementor-widget {
	margin-bottom: 0 !important;
}

/* Hover bouton "Information" hero */
.elementor-element-hero_v2_left a[data-id="9ce1a17"] {
	transition: all 0.3s ease !important;
}

.elementor-element-hero_v2_left a[data-id="9ce1a17"]:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(232, 74, 109, 0.3) !important;
}

.elementor-element-hero_v2_left a[data-id="9ce1a17"]:hover [data-id="13996fb"] {
	background: #E84A6D !important;
}

.elementor-element-hero_v2_left a[data-id="9ce1a17"]:hover [data-id="13996fb"] p {
	color: #fff !important;
}

/* Newsletter — masquer texte descriptif sur petit ecran */
@media (max-width: 480px) {
	a[data-id="9ce1a17"] [data-id="b634368"] {
		display: none !important;
	}
}

.elementor-element-hero_v2_illust {
	flex: 0 0 50% !important;
	max-width: 50% !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	background-image: none !important;
	overflow: visible !important;
	position: relative;
	margin-left: -40px;
}


/* Forme blob dupliquee en arriere-plan, decalee */
.elementor-element-hero_v2_illust::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: clamp(270px, 40vw, 620px);
	height: clamp(270px, 40vw, 620px);
	transform: translate(-50%, -48%);
	border-radius: 60% 40% 50% 45% / 45% 55% 40% 60%;
	background: rgba(238, 126, 75, 0.1);
	z-index: 0;
	pointer-events: none;
}

/* Arcs décoratifs animés — rappel logo CRPO */
.elementor-element-hero_v2_illust::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 680px;
	height: 680px;
	transform: translate(-50%, -48%);
	border-radius: 50%;
	border: 2px solid transparent;
	border-top-color: rgba(238, 126, 75, 0.25);
	border-right-color: rgba(236, 104, 110, 0.15);
	z-index: 0;
	pointer-events: none;
	animation: hero-arc-spin 25s linear infinite;
}

@keyframes hero-arc-spin {
	from { transform: translate(-50%, -48%) rotate(0deg); }
	to { transform: translate(-50%, -48%) rotate(360deg); }
}

/* Second arc via box-shadow sur le ::before */
.elementor-element-hero_v2_photo::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 740px;
	height: 740px;
	transform: translate(-50%, -48%);
	border-radius: 50%;
	border: 1.5px solid transparent;
	border-bottom-color: rgba(235, 88, 123, 0.18);
	border-left-color: rgba(238, 126, 75, 0.12);
	z-index: 0;
	pointer-events: none;
	animation: hero-arc-spin-reverse 35s linear infinite;
}

.elementor-element-hero_v2_photo::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 560px;
	height: 560px;
	transform: translate(-50%, -48%);
	border-radius: 50%;
	border: 1px solid transparent;
	border-top-color: rgba(235, 88, 123, 0.12);
	z-index: 0;
	pointer-events: none;
	animation: hero-arc-spin 18s linear infinite;
}

@keyframes hero-arc-spin-reverse {
	from { transform: translate(-50%, -48%) rotate(0deg); }
	to { transform: translate(-50%, -48%) rotate(-360deg); }
}

.elementor-element-hero_v2_photo img {
	width: clamp(250px, 38vw, 600px) !important;
	height: clamp(250px, 38vw, 600px) !important;
	object-fit: cover !important;
	border-radius: 60% 40% 50% 45% / 45% 55% 40% 60% !important;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18), 0 6px 16px rgba(0, 0, 0, 0.10) !important;
	position: relative;
	z-index: 2;
}

.elementor-element-hero_v2_photo {
	width: 100% !important;
	max-width: 100% !important;
}

/* === Hero responsive: suppression arcs sous 1400px === */
@media (max-width: 1399px) {
	.elementor-element-hero_v2_illust::after,
	.elementor-element-hero_v2_photo::before,
	.elementor-element-hero_v2_photo::after {
		display: none;
	}

	.elementor-element-hero_v2_illust {
		margin-left: -20px;
	}
}

/* === Hero responsive: image compacte sous 1024px === */
@media (max-width: 1024px) {
	.elementor-element-hero_v2_01 {
		padding: 40px 5% 0;
		gap: 20px;
	}

	.elementor-element-hero_v2_left {
		flex: 1 1 0% !important;
		max-width: none !important;
	}

	.elementor-element-hero_v2_illust {
		flex: 0 0 35% !important;
		max-width: 35% !important;
		margin-left: 0 !important;
		min-height: auto !important;
		align-items: flex-start !important;
	}

	.elementor-element-hero_v2_illust::before {
		display: none;
	}

	.elementor-element-hero_v2_photo img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 3 / 4 !important;
		border-radius: 20px !important;
	}

	.elementor-element-hero_v2_left h1 {
		font-size: clamp(36px, 4.2vw, 48px) !important;
	}

	.elementor-element-hero_v2_left h2 {
		font-size: clamp(18px, 2.2vw, 22px) !important;
	}
}

/* === Hero responsive: colonne sous 768px === */
@media (max-width: 767px) {
	.elementor-element-hero_v2_01 {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 16px 20px 0;
		gap: 16px;
	}

	.elementor-element-hero_v2_left,
	.elementor-element-hero_v2_illust {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.elementor-element-hero_v2_photo img {
		display: block !important;
		width: 85% !important;
		max-width: 500px !important;
		height: auto !important;
		aspect-ratio: 3 / 2 !important;
		border-radius: 20px !important;
		margin: 0 auto !important;
	}
}

/* === Hero V2 — Fallback sans photo === */
.elementor-element-hero_v2_01:not(:has([data-id="hero_v2_photo"] img)) {
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	padding: 60px 5% 40px !important;
}

.elementor-element-hero_v2_01:not(:has([data-id="hero_v2_photo"] img)) .elementor-element-hero_v2_left {
	flex: 0 0 100% !important;
	max-width: 800px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.elementor-element-hero_v2_01:not(:has([data-id="hero_v2_photo"] img)) .elementor-element-hero_v2_illust {
	display: none !important;
}

.elementor-element-hero_v2_01:not(:has([data-id="hero_v2_photo"] img))::after {
	bottom: -200px;
}

/* === S'adresse à qui - V2 alt === */
.v2alt-fullwidth-bg {
	background: transparent;
	margin-top: 48px;
	position: relative;
	z-index: 3;
	overflow: visible;
}

#v2alt-sadresse-block,
.v2alt-sadresse-block {
	padding-top: 4px !important;
	padding-bottom: 32px !important;
	border-radius: 32px !important;
	max-width: 1103px !important;
	margin: 0 auto;
	overflow: hidden !important;
	position: relative;
	background: linear-gradient(135deg, #EE7E4B, #EC686E, #EB587B) !important;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

/* Mobile : bloc « s'adresse à qui ? » en plein bord-à-bord (full bg), sans
   arrondi ni ombre (comme le bloc « Besoin d'aide / Nos référents »). */
@media (max-width: 767px) {
	#v2alt-sadresse-block,
	.v2alt-sadresse-block {
		border-radius: 0 !important;
		max-width: 100vw !important;
		width: 100vw !important;
		margin-left: calc(-50vw + 50%) !important;
		box-shadow: none !important;
	}
}

/* Mobile : badge « Newsletter » du hero aligné à gauche sur le titre/texte
   (il était décalé de ~14px à droite par la marge de son conteneur). */
@media (max-width: 767px) {
	body .elementor-6785 .elementor-element.elementor-element-9ce1a17 {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

#v2alt-sadresse-block .cestquoi-homepage-surtitle,
.v2alt-sadresse-block .cestquoi-homepage-surtitle,
#v2alt-sadresse-block .elementor-widget-heading:first-child .elementor-heading-title,
.v2alt-sadresse-block .elementor-widget-heading:first-child .elementor-heading-title {
	color: #FFFFFF !important;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px !important;
	letter-spacing: 1px;
}

#v2alt-sadresse-block .cestquoi-homepage-title,
.v2alt-sadresse-block .cestquoi-homepage-title,
#v2alt-sadresse-block .elementor-widget-heading h2,
.v2alt-sadresse-block .elementor-widget-heading h2 {
	color: #FFFFFF !important;
}

#v2alt-sadresse-block .cestquoi-homepage-text,
.v2alt-sadresse-block .cestquoi-homepage-text,
#v2alt-sadresse-block .elementor-text-editor,
.v2alt-sadresse-block .elementor-text-editor {
	color: #FFFFFF !important;
	text-align: center;
	max-width: 750px;
	margin: 12px auto 0;
	line-height: 1.6;
}

#v2alt-sadresse-block .cestquoi-homepage-text em,
.v2alt-sadresse-block .cestquoi-homepage-text em {
	color: rgba(255, 255, 255, 0.9);
}

#v2alt-sadresse-block .cestquoi-homepage-inner,
.v2alt-sadresse-block .cestquoi-homepage-inner {
	padding-bottom: 20px;
}

#v2alt-sadresse-block > .e-con-inner,
.v2alt-sadresse-block > .e-con-inner {
	padding-top: 8px !important;
}

#v2alt-parcours-block {
	margin-top: 0;
	position: relative;
	z-index: 4;
	padding-top: 0;
	padding-bottom: 80px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

#v2alt-parcours-block .parcours-homepage-inner {
	position: relative;
}

#v2alt-parcours-block .parcours-homepage-heading,
#v2alt-parcours-block .parcours-homepage-subtitle {
	display: none !important;
}

#v2alt-parcours-block .parcours-homepage-inner::before {
	content: '';
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: calc(100% + 120px);
	background: linear-gradient(180deg, #E2D9E3 0%, #F4F0F3 15%, #F4F0F3 100%);
	z-index: -1;
}

/* === Parcours — Intro titre + paragraphe === */
.parcours-intro {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 48px;
	padding: 0 24px;
}

.parcours-intro-title {
	font-size: 20px;
	font-weight: 700;
	color: #184762;
	line-height: 1.3;
	margin: 0 0 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.parcours-intro-text {
	font-size: 16px;
	line-height: 1.7;
	color: #061D2B;
	margin: 0 0 12px;
}

.parcours-intro-text:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.parcours-intro {
		padding: 0 16px;
		margin-bottom: 32px;
	}
	.parcours-intro-title {
		font-size: 18px;
	}
}

/* === Dispositif + Partenaires chevauchement === */
#v2alt-dispositif-block {
	padding-top: 48px !important;
	padding-bottom: 80px !important;
	max-width: 1103px !important;
	margin: 0 auto;
}

/* Supprimer les paddings internes des containers Elementor imbriqués */
#v2alt-dispositif-block .e-con-inner,
#v2alt-dispositif-block > .e-con-inner > .e-con {
	padding: 0 !important;
	gap: 8px !important;
}

/* Textes blancs dans le bloc dispositif (Elementor natif) */
#v2alt-dispositif-block .elementor-heading-title,
#v2alt-dispositif-block .elementor-widget-heading .elementor-heading-title {
	color: #fff !important;
}

/* Surtitle dispositif en majuscules */
#v2alt-dispositif-block .elementor-element-03794a4 .elementor-heading-title {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px !important;
	letter-spacing: 1px;
}

#v2alt-dispositif-block .elementor-text-editor,
#v2alt-dispositif-block .elementor-text-editor p {
	color: rgba(255, 255, 255, 0.9) !important;
}

#post-6771 .elementor-element-6cddfdd0,
.elementor-element-6cddfdd0 {
	margin-top: -60px !important;
	margin-bottom: 48px !important;
	position: relative;
	z-index: 10;
	background: #FFFFFF;
	padding: 0 !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
	margin-right: calc(-50vw + 50%) !important;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18) !important;
}

/* Padding-bottom sur "qu'est-ce que c'est" pour laisser place au chevauchement partenaires */
.cestquoi-homepage-wrapper {
	padding-bottom: 124px !important;
}

@media (max-width: 767px) {
	.cestquoi-homepage-wrapper {
		padding-bottom: 80px !important;
	}
}

/* Supprimer l'ombre du shadow-divider Elementor */
.elementor-element-6cddfdd0.shadow-divider::before {
	display: none !important;
}

/* Logos partenaires : taille et espacement */
.elementor-element-6cddfdd0 {
	height: 200px !important;
	align-items: center !important;
	justify-content: center !important;
	display: flex !important;
}

/* Gouttière autour de chaque logo du carrousel (évite tout contact/chevauchement) */
.elementor-element-6cddfdd0 .swiper-slide {
	padding-left: 14px !important;
	padding-right: 14px !important;
	box-sizing: border-box !important;
}

.elementor-element-6cddfdd0 .swiper-slide img,
.elementor-element-6cddfdd0 img {
	height: auto !important;
	max-height: 80px !important;
	/* le logo ne doit jamais dépasser la largeur de sa slide, sinon il chevauche la voisine (bug < ~1255px + mobile) */
	max-width: 100% !important;
	width: auto !important;
	object-fit: contain !important;
}

.elementor-element-6cddfdd0 .elementor-widget-wrap,
.elementor-element-6cddfdd0 .e-con-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.elementor-element-6cddfdd0 .elementor-element {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	.elementor-element-6cddfdd0 {
		height: auto !important;
		min-height: 120px;
	}
}

/* Marge au dessus et en dessous du bloc actualités */
#post-6771 .elementor-element-0c01547,
.elementor-element-0c01547 {
	margin-top: 64px;
	--padding-bottom: 80px !important;
}
#post-6771 .elementor-element-0c01547::before,
.elementor-element-0c01547::before {
	display: none !important;
}

/* Marge bloc ressources */
#post-6771 .elementor-element-6474dcf {
	margin-top: 80px;
	margin-bottom: 64px;
	padding-left: 5%;
	padding-right: 5%;
}

/* Suppression du dégradé séparateur partenaires/newsletter */
#post-6771 .elementor-element-13d1224 {
	display: none !important;
}

/* --- Page detail Parcours --- */
.parcours-detail-citation {
	font-size: 18px;
	font-style: italic;
	font-weight: 700;
	color: #184762;
	line-height: 1.5;
	text-align: center;
}

.parcours-detail-citation .parcours-guillemet {
	color: #E84A6D;
}

/* Étiquette persona au-dessus de la citation */
.parcours-detail-etiquette {
	display: block;
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: #184762;
	padding: 6px 16px;
	border-radius: 20px;
	width: fit-content;
	margin: 32px auto 16px;
}

/* Bloc description parcours : carte blanche arrondie (style COPIL) */
.parcours-description-block {
	background: #fff;
	border-radius: 24px;
	padding: 32px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.06);
	align-items: center;
	gap: 24px !important;
}

.parcours-description-block .dc-has-condition {
	background: transparent !important;
	border-radius: 16px !important;
	padding: 0 !important;
	overflow: hidden;
}

.parcours-description-block .elementor-widget-theme-post-featured-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	border-radius: 16px;
	aspect-ratio: 1 / 1;
}

.parcours-description-block .parcours-recit-block {
	max-width: 700px;
	font-size: 16px;
}

.parcours-recit-title {
	font-family: 'Nunito', sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #184762;
	margin: 0 0 12px;
}

/* Image masquée par Dynamic Conditions : le container est vide */
.parcours-description-block .dc-has-condition:empty,
.parcours-description-block .dc-has-condition:not(:has(*)) {
	display: none !important;
}

.parcours-description-block:has(.dc-has-condition:empty) .parcours-recit-block,
.parcours-description-block:has(.dc-has-condition:not(:has(*))) .parcours-recit-block {
	flex: 0 0 100%;
	max-width: 100%;
	text-align: center;
}

/* Parcours (single) : placer le bloc ressources juste avant le bloc
   « Besoin d'aide pour vos recherches ? » (dernier bloc de la colonne).
   La colonne est un flex ; on repositionne via `order` (pas de saut de mise en page). */
.parcours-ressources-block { order: 1; }
.parcours-ressources-block ~ .e-con:last-child { order: 2; }

/* Parcours (single) : titre + intro au-dessus du bloc ressources (injectés en JS). */
.parcours-ressources-heading {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 32px;
}
.parcours-ressources-title {
	font-family: 'Nunito', sans-serif !important;
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #184762;
	margin: 0 0 12px;
}
.parcours-ressources-intro {
	font-size: 16px;
	line-height: 1.6;
	color: #184762;
	margin: 0;
}
@media (max-width: 767px) {
	.parcours-ressources-title { font-size: 28px !important; }
}

/* Parcours (single) : resserrer l'espace vide entre « En quoi le CRPO… » et « Nos ressources ».
   Le bloc services avait 64px de marge basse et le bloc ressources 72px de padding haut. */
.single-parcours .elementor-element-9d2373c { margin-bottom: 16px !important; padding-bottom: 24px !important; }
.parcours-ressources-block { padding-top: 8px !important; }

/* Parcours (single) : aligner l'échelle typo sur le reste du site.
   Le template Elementor de la fiche (id 6855) sort un H1 à 60px et des
   titres de section à 40px, alors que les autres pages de contenu
   (ressource, actualité, pages) sont à H1 40px / H2 32px. On ramène la
   fiche à cette norme. Sélecteurs = data-id du template, partagés par
   toutes les fiches parcours. Voir docs échelle typo (mémoire projet). */
.single-parcours .elementor-element-d3d5a55 .elementor-heading-title {
	font-size: 40px !important; /* titre de fiche : 60 → 40 (norme H1 site) */
}
.single-parcours .elementor-element-3191438 .elementor-heading-title,
.single-parcours .elementor-element-78f4d15 .elementor-heading-title {
	font-size: 32px !important; /* titres de section : 40 → 32 (norme H2 site) */
}
@media (max-width: 767px) {
	.single-parcours .elementor-element-d3d5a55 .elementor-heading-title {
		font-size: 30px !important;
	}
	.single-parcours .elementor-element-3191438 .elementor-heading-title,
	.single-parcours .elementor-element-78f4d15 .elementor-heading-title {
		font-size: 26px !important;
	}
}

/* Corps des sections « intro » (f8e5823), « services » (ff40525) et
   « aide » (b7cf291) : le template les sort à 20px, on ramène au corps
   du site (16px). */
.single-parcours .elementor-element-f8e5823,
.single-parcours .elementor-element-f8e5823 .elementor-widget-container,
.single-parcours .elementor-element-f8e5823 p,
.single-parcours .elementor-element-ff40525,
.single-parcours .elementor-element-ff40525 p,
.single-parcours .elementor-element-ff40525 li,
.single-parcours .elementor-element-b7cf291,
.single-parcours .elementor-element-b7cf291 p,
.single-parcours .elementor-element-b7cf291 li {
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* Intro (sous-titre 0748002 + paragraphe f8e5823) : le template sort ces deux
   widgets sur le fond mauve de la page, bridés à 900/700px, ce qui donne un
   bloc étroit et peu lisible. On les regroupe en UN panneau clair (#F4F0F3, le
   fond clair du design system) qui ressort sur le mauve et aère la lecture —
   même intention que la maquette « section au fond différent », en version
   carte contenue (une vraie bande pleine largeur demanderait de wrapper l'intro
   dans le template Elementor). Les deux widgets sont mis à la même largeur pour
   souder le panneau ; marges internes gérées par le padding, radius haut sur le
   sous-titre / bas sur le paragraphe. Partagé par toutes les fiches parcours. */
.single-parcours .elementor-element-0748002,
.single-parcours .elementor-element-f8e5823 {
	width: 100% !important;
	max-width: 945px !important;
	--container-widget-width: 945px;
}
.single-parcours .elementor-element-0748002 > .elementor-widget-container {
	background: #F4F0F3;
	border-radius: 16px 16px 0 0;
	padding: 32px 48px 4px;
	margin: 0 !important;
}
.single-parcours .elementor-element-f8e5823 > .elementor-widget-container {
	background: #F4F0F3;
	border-radius: 0 0 16px 16px;
	padding: 4px 48px 32px;
	margin: 0 0 32px !important;
}
@media (max-width: 767px) {
	.single-parcours .elementor-element-0748002 > .elementor-widget-container {
		padding: 24px 24px 4px;
	}
	.single-parcours .elementor-element-f8e5823 > .elementor-widget-container {
		padding: 4px 24px 24px;
	}
}

/* TEST — Bandes de sections : structurer la page en 2 zones. Le haut (hero +
   « Exemple de situation ») reste sur le mauve ; tout le bas (« En quoi le CRPO »
   + « Nos ressources ») passe sur une bande claire #F4F0F3 pleine largeur, pour
   séparer visuellement la page. Bande = pseudo 100vw centré (technique déjà
   utilisée dans ce thème), height:100% donc auto-ajustée. z-index:-1 = derrière
   le contenu de la section mais devant le fond mauve de la page. */
.single-parcours .elementor-element-9d2373c,
.single-parcours .elementor-element-378018f {
	position: relative;
	padding-top: 40px;
	padding-bottom: 40px;
}
.single-parcours .elementor-element-9d2373c::before,
.single-parcours .elementor-element-378018f::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 100%;
	background: #F4F0F3;
	z-index: -1;
}

/* Loop Grid parcours ressources : adapter colonnes au nombre d'items */
.parcours-ressources-block .elementor-loop-container {
	justify-content: center;
	align-items: stretch !important;
}

/* Cards : même hauteur que la plus grande */
.parcours-ressources-block .elementor-loop-container > div {
	height: 100% !important;
}

.parcours-ressources-block .elementor-loop-container > div > .elementor {
	height: 100% !important;
}

.parcours-ressources-block .elementor-loop-container > div > .elementor > .elementor-inner > .elementor-section-wrap > .elementor-section,
.parcours-ressources-block .elementor-loop-container > div > .elementor > .elementor-inner > .elementor-section-wrap > .elementor-section > .elementor-container,
.parcours-ressources-block .elementor-loop-container > div .e-con {
	height: 100% !important;
}

/* 1 card : pleine largeur */
.parcours-ressources-block .elementor-loop-container:has(> :nth-child(1):last-child) {
	grid-template-columns: 1fr !important;
}

/* 2 cards : centrées côte à côte */
.parcours-ressources-block .elementor-loop-container:has(> :nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* 3 cards : trois colonnes côte à côte */
.parcours-ressources-block .elementor-loop-container:has(> :nth-child(3):last-child) {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* --- Page detail Moyen d'action --- */

.ma-header-block .elementor-widget-image img {
	width: 100% !important;
	height: auto !important;
	border-radius: 16px;
}

/* Blocs repeater — cartes blanches arrondies.
   margin-top : espace entre le bloc hero header et la 1re carte. */
.ma-blocs {
	max-width: 900px;
	margin: 40px auto 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Accroche d'introduction : traitee comme un sous-titre (sous le H1), pas un
   second gros titre — meilleure hierarchie de lecture. Reste un <h2> (semantique). */
.ma-header-block .elementor-heading-title {
	font-family: 'Nunito', sans-serif !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

/* Texte introduction — meme taille que les autres pages interieures */
.ma-header-block .elementor-widget-text-editor {
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* Hero pages action — reduire l'espace en haut (le Kit met 72px ; on aligne
   sur les pages interieures) pour un en-tete compact surtitre/titre/sous-titre/texte. */
body.single-moyen_action [data-elementor-type="single-post"] > .e-parent.linear:first-of-type > .e-con-inner {
	padding-top: 16px !important;
}

/* Sous-titre dans les cartes blanches */
.ma-bloc__titre {
	color: var(--color-primary) !important;
	font-family: 'Nunito', sans-serif !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	margin: 0 0 16px !important;
}

/* Titre de section (texte_centre) — H2 Nunito 40px */
.ma-bloc__titre--h2 {
	font-size: 40px !important;
}

.ma-bloc__contenu {
	font-size: 16px;
	line-height: 1.6;
}

.ma-bloc__contenu p:last-child {
	margin-bottom: 0;
}

/* Liens dans le contenu : même taille que le texte, couleur primaire soulignée */
.ma-bloc__contenu a {
	font-size: inherit !important;
	font-weight: inherit;
	color: var(--color-primary);
	text-decoration: underline;
}

.ma-bloc__contenu a:hover {
	text-decoration: none;
}

/* Carte blanche */
.ma-bloc--carte {
	background: #fff;
	border-radius: 24px;
	padding: 48px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	text-align: center;
}

.ma-bloc--carte ul {
	display: inline-block;
	text-align: left;
	padding-left: 20px;
}

.ma-bloc--carte li {
	margin-bottom: 6px;
	line-height: 1.6;
}

/* Texte centré : pas de carte, contenu classique */
.ma-bloc--texte_centre {
	text-align: center;
	padding: 16px 0;
}

/* Section carte d'implantation (iframe Google My Maps / uMap) */
.ma-bloc--carte_map {
	text-align: center;
	padding: 16px 0;
}
.ma-bloc--carte_map .ma-bloc__carte {
	margin-top: 24px;
}
.ma-bloc--carte_map .ma-bloc__carte iframe {
	width: 100%;
	min-height: 480px;
	border: 0;
	border-radius: 24px;
	display: block;
}

/* Image + texte : côte à côte */
.ma-bloc--image_texte {
	display: flex;
	gap: 48px;
	align-items: center;
}

.ma-bloc--image_texte.ma-bloc--reverse {
	flex-direction: row-reverse;
}

.ma-bloc--image_texte .ma-bloc__image {
	flex: 0 0 40%;
}

.ma-bloc--image_texte .ma-bloc__image img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	object-fit: cover;
	display: block;
}

.ma-bloc--image_texte .ma-bloc__texte {
	flex: 1;
	text-align: left;
}

/* En présence d'une image, la liste suit l'alignement à gauche du bloc */
.ma-bloc--image_texte .ma-bloc__texte ul {
	display: block;
}

@media (max-width: 767px) {
	.ma-bloc {
		padding: 24px;
		border-radius: 16px;
	}

	.ma-bloc--image_texte {
		flex-direction: column;
	}

	.ma-bloc--image_texte.ma-bloc--reverse {
		flex-direction: column;
	}

	.ma-bloc--image_texte .ma-bloc__image {
		flex: none;
		width: 100%;
	}
}

/* Listing — vignettes Loop Grid */
.ma-loop-item {
	background: var(--color-surface);
	border-radius: 12px;
	padding: var(--approche_xl) var(--approche_l);
	text-align: center;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.ma-loop-item:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}

.ma-loop-item__icone {
	width: 64px;
	height: 64px;
	margin: 0 auto var(--approche_m);
}

.ma-loop-item__icone img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ma-loop-item__titre {
	color: var(--color-primary);
	font-family: 'Nunito', sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	margin-bottom: var(--approche_s);
}

.ma-loop-item__extrait {
	color: var(--color-text-muted);
	font-size: 0.875rem;
	line-height: 1.5;
	margin-bottom: var(--approche_m);
}

.ma-loop-item__lien {
	color: var(--color-accent);
	font-weight: 700;
	font-size: 0.875rem;
	text-decoration: none;
}

.ma-loop-item__lien:hover {
	text-decoration: underline;
}

/* Blocs cliquables page listing moyens d'action */
.ma-clickable {
	cursor: pointer;
	transition: transform 0.2s ease;
}

.ma-clickable:hover {
	transform: scale(1.03);
}

/* ==========================================================================
   Bloc "Restons en contact" — boutons cote a cote
   ========================================================================== */

.elementor-element-bcf9f7d {
	flex-wrap: wrap !important;
	flex-direction: row !important;
	justify-content: center !important;
	gap: 16px !important;
}

.elementor-element-bcf9f7d > .elementor-widget-heading,
.elementor-element-bcf9f7d > .elementor-widget-text-editor {
	width: 100% !important;
	flex: 0 0 100% !important;
	text-align: center !important;
}

.elementor-element-bcf9f7d > .elementor-widget-button {
	width: auto !important;
	flex: 0 0 auto !important;
}

.contact-btn-outline .elementor-button {
	background: transparent !important;
	color: #FFFFFF !important;
	border: 2px solid #FFFFFF !important;
	border-radius: 50px !important;
}

.contact-btn-outline .elementor-button:hover {
	background: #FFFFFF !important;
	color: #184762 !important;
}

/* CTA M'inscrire sur la carte — style bouton blanc */
.elementor-6923 [data-id="6e1df99"] .elementor-button {
	background: #FFFFFF !important;
	color: #184762 !important;
	border: none !important;
	border-radius: 20px !important;
	padding: 12px 20px !important;
	font-weight: 700 !important;
}

.elementor-6923 [data-id="6e1df99"] .elementor-button:hover {
	background: #184762 !important;
	color: #FFFFFF !important;
}

/* --- Single Ressource : image non cropee --- */
.elementor-element-47fcf8e img {
	object-fit: contain !important;
	height: auto !important;
	max-height: 500px;
	width: 100%;
}

/* ==========================================================================
   Page Centre Ressources — ajustements
   ========================================================================== */

/* Section intro + video — fond lavande unifie */
.elementor-6923 [data-id="5b88df0"],
.elementor-6923 [data-id="45b2b51f"] {
	background: #F4F0F3 !important;
}

/* Equipe — reduire le padding bas */
body .elementor-6923 [data-id="da09d93"] > .e-con-inner {
	padding-bottom: 32px !important;
}

/* COPIL — marge en haut pour aerer */
body.page .elementor > .elementor-element.elementor-element-41cc696 {
	margin-top: 64px !important;
	margin-bottom: 64px !important;
}

/* Reduire le padding de l'intro et du container des boutons de telechargement */
.elementor-6923 [data-id="5b88df0"] > .e-con-inner {
	padding-top: 48px !important;
	padding-bottom: 32px !important;
}

.elementor-6923 [data-id="edbb6e0"] {
	padding-top: 16px !important;
	padding-bottom: 16px !important;
}

/* Hover boutons telechargement (Brochure + Pre-projet) */
.elementor-6923 [data-id="9c2bb5a"] .elementor-button,
.elementor-6923 [data-id="da34b8a"] .elementor-button {
	transition: all 0.3s ease;
}

.elementor-6923 [data-id="9c2bb5a"] .elementor-button:hover,
.elementor-6923 [data-id="da34b8a"] .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
	background: var(--color-primary) !important;
	color: #fff !important;
}

.elementor-6923 [data-id="9c2bb5a"] .elementor-button:hover .elementor-button-icon svg,
.elementor-6923 [data-id="da34b8a"] .elementor-button:hover .elementor-button-icon svg {
	fill: #fff;
}

/* --- "Nous trouver" : siege social + referents territoriaux en 2 colonnes --- */
.elementor-6923 .liste_a_puces {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px 32px;
}

.elementor-6923 .liste_a_puces > .e-con {
	flex: 1 1 0;
	min-width: 0;
}

/* Bouton "Nos référents" : style pilule blanche (identique à "Découvrir") */
.elementor-6923 .liste_a_puces [data-id="abf0cdf"] .elementor-widget-button {
	text-align: left;
}

.elementor-6923 .liste_a_puces [data-id="abf0cdf"] .elementor-button {
	background: #FFFFFF !important;
	color: #184762 !important;
	border: none !important;
	border-radius: 20px !important;
	padding: 12px 20px !important;
	font-weight: 700 !important;
	transition: all 0.3s ease;
}

.elementor-6923 .liste_a_puces [data-id="abf0cdf"] .elementor-button:hover {
	background: #FFFFFF !important;
	color: #184762 !important;
	box-shadow: 20px 20px 20px 0 rgba(0, 0, 0, 0.25) !important;
}

/* Empilement vertical sur mobile */
@media (max-width: 767px) {
	.elementor-6923 .liste_a_puces {
		flex-direction: column;
	}
	.elementor-6923 .liste_a_puces > .e-con {
		flex-basis: auto;
	}
}

/* Carte Occitanie (fond du conteneur "Forme") agrandie — desktop uniquement.
   Calee sur le bord droit + largeur relative au viewport (plafonnee) : grande
   sur les grands ecrans sans deborder/couper sur les plus petits. */
@media (min-width: 1025px) {
	.elementor-6923 [data-id="9692b05"] {
		left: auto !important;
		right: calc(560px - 50vw) !important;
		width: min(800px, calc(50vw - 40px)) !important;
		height: auto !important;
		aspect-ratio: 658 / 472;
		top: 24px !important;
		bottom: auto !important;
		background-size: contain !important;
		background-position: center right !important;
		background-repeat: no-repeat !important;
	}
}

/* --- Section Contact intro --- */
.cr-contact-subtitle {
	font-size: 22px;
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 16px;
}

ul.cr-contact-list {
	list-style: none;
	padding: 0;
	margin: 24px auto 16px;
	text-align: left;
	display: inline-block;
}

ul.cr-contact-list li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 6px;
	font-size: 15px;
	line-height: 1.5;
}

ul.cr-contact-list li:last-child {
	margin-bottom: 0;
}

ul.cr-contact-list li::before {
	content: '';
	position: absolute;
	left: 2px;
	top: 9px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-primary);
}

.cr-contact-intro-closing {
	font-size: 14px;
	line-height: 1.4;
	color: inherit;
	font-style: italic;
	margin-top: 12px;
}

/* Contact form — select dropdown */
.cf7-form-grid select.wpcf7-form-control {
	padding-right: 32px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23184762' stroke-width='2' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
}

/* Fond lavande continu : Territoriaux + implantation intro + maps + CTA */
.elementor-6923 .elementor-element-1a2c872,
.elementor-6923 .elementor-element-c2de1ef7,
.elementor-6923 [data-id="88603a12"],
.elementor-6923 .elementor-element-d31f8f5e {
	background: #F4F0F3 !important;
}

/* Google Maps — boxed avec border-radius */
.elementor-6923 [data-id="88603a12"] {
	padding: 0 !important;
}

.elementor-6923 [data-id="88603a12"] > .e-con-inner {
	padding: 0 !important;
}

.elementor-6923 [data-id="eca54d7"] iframe,
.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
	border-radius: 16px !important;
	overflow: hidden !important;
}

.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12) !important;
}

.elementor-6923 [data-id="eca54d7"] {
	width: 100% !important;
}

.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
	width: 100% !important;
	overflow: hidden;
	height: clamp(280px, 45vw, 480px);
}

.elementor-6923 [data-id="eca54d7"] iframe {
	display: block;
	width: 100% !important;
	min-width: 100% !important;
	border-radius: 0 !important;
	margin-top: -70px;
	height: clamp(350px, 50vw, 550px);
	pointer-events: none;
	transition: margin-top 0.25s ease;
}

/* Au survol (desktop) ou carte activée (tactile, classe .map-active posée par JS) :
   on révèle tout l'iframe — margin-top:0 + conteneur en hauteur auto — pour que la
   fiche d'un marqueur Google ne soit plus rognée par le masquage de l'en-tête.
   Règle globale (hors media query) => vaut à tous les breakpoints. Correctif 2026-06-09. */
.elementor-6923 [data-id="eca54d7"] .elementor-widget-container:hover iframe,
.elementor-6923 [data-id="eca54d7"] .elementor-widget-container.map-active iframe {
	pointer-events: auto;
	margin-top: 0 !important;
}

.elementor-6923 [data-id="eca54d7"] .elementor-widget-container:hover,
.elementor-6923 [data-id="eca54d7"] .elementor-widget-container.map-active {
	height: auto !important;
}

.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
	position: relative;
}

.elementor-6923 [data-id="eca54d7"] .elementor-widget-container::after {
	content: 'Cliquez pour interagir avec la carte';
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 13px;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.3s ease;
	z-index: 10;
}

.elementor-6923 [data-id="eca54d7"] .elementor-widget-container:hover::after {
	opacity: 0;
}

/* Reduire le padding du parent CTA et ajouter marge avant footer */
.elementor-6923 [data-id="4b15b21"] {
	background: #fff !important;
	margin-bottom: 80px !important;
}

.elementor-6923 [data-id="4b15b21"] > .e-con-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.elementor-6923 [data-id="973bbcb"] {
	display: none !important;
}

/* --- Responsive tablette large (1024px) --- */
@media (max-width: 1024px) {
	/* Boutons telechargement : empiler au lieu de cote a cote */
	.elementor-6923 [data-id="186a03d"] {
		flex-wrap: wrap !important;
	}

	/* Padding lateral sur les sections sans marge */
	.elementor-6923 [data-id="41cc696"] > .e-con-inner,
	.elementor-6923 [data-id="1a2c872"] > .e-con-inner,
	.elementor-6923 [data-id="b8edb71a"] > .e-con-inner {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	/* Images COPIL et Territoriaux : ne pas etre en full bleed */
	.elementor-6923 [data-id="45d9e94"] img,
	.elementor-6923 [data-id="5cc325a"] img {
		width: auto !important;
		max-width: 100% !important;
		border-radius: 16px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: block !important;
	}

	/* Google Maps hauteur ajustee */
	.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
		height: 400px;
	}
}

/* --- Responsive tablette (767px) --- */
@media (max-width: 767px) {
	/* CTA margin reduit */
	.elementor-6923 [data-id="4b15b21"] {
		margin-bottom: 48px !important;
	}

	/* Google Maps hauteur reduite */
	.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
		height: 360px;
	}

	.elementor-6923 [data-id="eca54d7"] iframe {
		height: 450px !important;
		margin-top: -60px;
	}

	/* Intro padding reduit */
	.elementor-6923 [data-id="5b88df0"] > .e-con-inner {
		padding-top: 32px !important;
	}
}

/* --- Responsive mobile (480px) --- */
@media (max-width: 480px) {
	/* H1 taille reduite */
	.elementor-6923 h1 {
		font-size: 28px !important;
		line-height: 1.2 !important;
	}

	/* CTA margin reduit */
	.elementor-6923 [data-id="4b15b21"] {
		margin-bottom: 32px !important;
	}

	/* Google Maps hauteur reduite */
	.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
		height: 280px;
	}

	.elementor-6923 [data-id="eca54d7"] iframe {
		height: 380px !important;
		margin-top: -70px;
	}

	/* Carte en plein bord-à-bord sur mobile : coins droits + sans ombre
	   (la largeur est déjà à 100vw). Correctif 2026-06-09. */
	.elementor-6923 [data-id="eca54d7"] .elementor-widget-container,
	.elementor-6923 [data-id="eca54d7"] iframe {
		border-radius: 0 !important;
	}
	.elementor-6923 [data-id="eca54d7"] .elementor-widget-container {
		box-shadow: none !important;
	}

	/* Intro padding reduit */
	.elementor-6923 [data-id="5b88df0"] > .e-con-inner {
		padding-top: 24px !important;
		padding-bottom: 16px !important;
	}

	/* Boutons telechargement empiles */
	.elementor-6923 [data-id="edbb6e0"] {
		flex-direction: column !important;
	}

	/* Images full width sans border-radius (exclure logos partenaires dans les loop grids) */
	.elementor-6923 .elementor-widget-image img:not(.e-loop-item img) {
		border-radius: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(-50vw + 50%) !important;
	}

	/* Marges laterales sur les textes */
	.elementor-6923 .e-con-inner {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

}

/* --- Google Maps : interaction tactile mobile --- */
@media (hover: none) and (pointer: coarse) {
	/* Sur ecrans tactiles, garder pointer-events: none par defaut
	   pour ne pas capturer le scroll de la page.
	   Le message "Appuyez" reste visible jusqu'au tap. */
	.elementor-6923 [data-id="eca54d7"] .elementor-widget-container::after {
		content: 'Appuyez pour interagir avec la carte';
	}

	/* Masquer le tooltip une fois la carte activee par JS */
	.elementor-6923 [data-id="eca54d7"] .elementor-widget-container.map-active::after {
		opacity: 0;
	}
}

/* Paragraphes Territoriaux + Collectif + Equipe — taille 15px */
.elementor-6923 .elementor-element-67d7995,
.elementor-6923 .elementor-element-59c15f8,
.elementor-6923 .elementor-element-2dd29ef {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* Page COPIL — bullets composition */
.elementor-element-320dcc2 ul {
	list-style: none;
	padding-left: 0;
	margin: 16px 0;
}
.elementor-element-320dcc2 ul li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 16px;
	line-height: 1.6;
}
.elementor-element-320dcc2 ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-accent, #E84A6D);
}

/* Page Comprendre le polyhandicap — aligner taille intro */
.elementor-4216 .elementor-element-aadbde1 p {
	font-size: 16px !important;
}

/* Hero polyhandicap — pleine largeur sans marges */
.elementor-4216 .elementor-element-def6ed2 {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-4216 .elementor-element-def6ed2 > .e-con-inner {
	padding-top: 0 !important;
	max-width: 100% !important;
}

/* Page Collectif francophone — duplicata du hero polyhandicap (mêmes IDs def6ed2/aadbde1).
   Scopé .page-collectif (classe body par slug) et NON .elementor-7151 : l'ID diffère
   entre local et prod, et def6ed2/aadbde1 existent aussi sur polyhandicap (4216). */
.page-collectif .elementor-element-aadbde1 p {
	font-size: 16px !important;
}
/* Tous les paragraphes de contenu (sections linear) en 16px */
.page-collectif .e-parent.linear .elementor-widget-text-editor p {
	font-size: 16px !important;
	line-height: 1.6 !important;
}
/* Légende sous l'image rencontre — 14px, interligne resserré */
.page-collectif .elementor-widget-image figcaption {
	font-size: 14px !important;
	line-height: 1.4 !important;
}
.page-collectif .elementor-element-def6ed2 {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.page-collectif .elementor-element-def6ed2 > .e-con-inner {
	padding-top: 0 !important;
	max-width: 100% !important;
}

/* Partenaires — lien cliquable + hover zoom */
.elementor-6923 .elementor-element-1a23553 .e-loop-item .e-con {
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elementor-6923 .elementor-element-1a23553 .e-loop-item .e-con:hover {
	transform: scale(1.05);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

/* Bloc ASEI partenaires — premier + liseret rose + texte "Porté par" */
.elementor-6923 .elementor-element-1a23553 .e-loop-item-6132 {
	order: -1;
}

.elementor-6923 .e-loop-item-6132 .e-con {
	border: 2px solid #E84A6D !important;
}

.elementor-6923 .e-loop-item-6132 .e-con::before {
	content: 'Porté par';
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #E84A6D;
	margin-bottom: 4px;
}

/* Bloc ARS partenaires — toujours dernier + remplir la ligne */
.elementor-6923 .elementor-element-1a23553 .e-loop-item-4262 {
	order: 9999;
	grid-column: auto / -1 !important;
}

/* Boîte financeur ARS — logo officiel EN COULEUR sur un chip blanc.
   Le widget image ce07ab3 (template 4636) blanchit le logo via css_filters
   (brightness 200 / contrast 200 / saturate 0) + custom_css
   `filter: brightness(0) invert(1)`. Ce blanchiment EXIGE un PNG transparent :
   dès que la cliente met un logo à fond blanc (ex. le JPG officiel « RÉPUBLIQUE
   FRANÇAISE »), le filtre blanchit tout le rectangle → bandeau blanc.
   On neutralise donc le filtre et on pose le logo sur un fond blanc arrondi :
   n'importe quel fichier (JPG ou PNG, couleur) s'affiche correctement et la boîte
   ne peut plus « casser » au prochain changement de logo. */
.elementor-6923 .elementor-element-1a23553 .elementor-repeater-item-49eb980 .elementor-element-ce07ab3 img {
	filter: none !important;
	-webkit-filter: none !important;
	background: #fff;
	padding: 10px 16px;
	border-radius: 8px;
}

/* Fond lavande continu : Un besoin + CTA Nous contacter */
.elementor-6923 .elementor-element-5f587d65,
.elementor-6923 .elementor-element-4b15b21 {
	background: #F4F0F3 !important;
}

/* Un besoin, une question — texte couleur charte */
.elementor-6923 [data-id="9667733"],
.elementor-6923 [data-id="9667733"] p,
.elementor-6923 [data-id="9667733"] li {
	color: #184762 !important;
}

/* === Template Partenaire unique (page-4841) — harmonisation typo === */
/* Paragraphe d'intro sous le H1 (pas de <p>, c'est un div direct) */
.elementor-page-4841 [data-id="abbae1f"] .elementor-widget-container {
	font-size: 17px !important;
	line-height: 1.6 !important;
}

/* Paragraphes de section */
.elementor-page-4841 .elementor-element-6f72605 p,
.elementor-page-4841 .elementor-element-2943ea6 p {
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* Largeur du corps alignée sur les ressources (1103px). La boîte de la section
   était à 1300px et les blocs de contenu bridés (~900/780px), d'où de l'espace
   perdu sur les côtés et une page plus haute. On cape la boîte à 1103px et on
   étire les blocs pleine largeur (titre, retour et meta restent centrés). */
.elementor-4841 .elementor-element-b0e05a8 > .e-con-inner {
	max-width: 1103px !important;
}

.elementor-4841 .elementor-element-abbae1f,
.elementor-4841 .elementor-element-7654064,
.elementor-4841 .elementor-element-d4cfb89,
.elementor-4841 .elementor-element-4d97a10 {
	width: 100% !important;
	max-width: none !important;
}

/* H2 : line-height aligné sur les ressources (1.2 = 38.4px au lieu de ~45px) */
.elementor-4841 h2.elementor-heading-title {
	line-height: 1.2 !important;
}

/* ==========================================================================
   Nos actions — cartes à icône ronde : padding-top conservé en responsive.
   Un ancien fix réduisait le padding-top de 2 cartes (b089c23, ea5f49b) à 30px
   en ≤768px pour les compacter, mais comme le corps remonte de -80px (effet
   badge de l'icône ronde), le titre passait SOUS l'icône (chevauchement). On
   laisse le padding-top d'origine (100px, comme les 3 autres cartes) : l'icône
   straddle le haut de la carte et le titre reste dégagé.
   ========================================================================== */

/* ==========================================================================
   Fix #3 — Footer : agrandir les cibles tactiles des liens sur mobile
   ========================================================================== */

@media (max-width: 768px) {
	.elementor-location-footer a {
		display: inline-block;
		min-height: 44px;
		line-height: 44px;
	}
}

/* ==========================================================================
   Fix #6 — Equipe : masquer les elements Elementor fantomes
   ========================================================================== */

.elementor-page-4214 .elementor-element-48974d1,
.elementor-page-4214 .elementor-element-a8fa832 {
	display: none !important;
}

/* ==========================================================================
   Fix #7 — Actualites passees : centrer le label "Rechercher une actualite
   par thematiques". La fleche decorative etant un item flex de la meme rangee,
   le groupe [label + fleche] etait centre, ce qui decalait le texte a gauche.
   On sort la fleche du flux (absolute) pour que le label se centre seul,
   aligne avec le titre/intro et le bloc d'onglets en dessous.
   ========================================================================== */

.elementor-element-3c144d8a {
	position: relative;
}

.elementor-element-3c144d8a > .elementor-element-4ac6f5a9 {
	width: 100%;
}

.elementor-element-3c144d8a > .elementor-element-4ac6f5a9 p {
	text-align: center;
	margin: 0;
}

.elementor-element-3c144d8a > .elementor-element-2f537df6 {
	position: absolute;
	top: 0;
	right: 22%;
	margin: 0;
}

/* Trait vertical décoratif du titre « Les grandes étapes de la vie » (page polyhandicap).
   Le conteneur Elementor a une largeur de 4px réglée pour le desktop uniquement ; en
   tablette/mobile la largeur n'est pas reportée, donc le trait s'étire en gros bloc.
   On épingle la largeur à 4px sur tous les écrans (le desktop reste identique). */
.elementor-element-b1b2b3b4 {
	width: 4px !important;
	min-width: 4px;
	max-width: 4px;
	flex: 0 0 4px;
}

/* Collectif (page 7151) — cartes membres : liens Site / LinkedIn en pastilles.
   On reprend le style du bouton « Toutes les actualités » (contour bleu marine,
   coins arrondis pleins). On cible uniquement les liens externes (target=_blank)
   des cartes, donc ni le texte de localisation ni « Consulter l'annuaire » de
   l'en-tête ne sont touchés. Le séparateur « · » est retiré en JS (functions.php).
   Scopé .page-collectif : carte_mission existe aussi sur 4216/6923 → on confine. */
.page-collectif .carte_mission .elementor-widget-text-editor a[target="_blank"] {
	display: inline-block;
	margin-top: 10px;
	margin-right: 8px;
	padding: 5px 16px;
	border: 1.5px solid #184762;
	border-radius: 9999px;
	background-color: transparent;
	color: #184762;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* Survol de la pastille elle-même : blanc, contour blanc, texte bleu. */
.page-collectif .carte_mission .elementor-widget-text-editor a[target="_blank"]:hover,
.page-collectif .carte_mission .elementor-widget-text-editor a[target="_blank"]:focus {
	background-color: #FFFFFF;
	border-color: #FFFFFF;
	color: #184762;
}

/* Quand la carte passe en survol (dégradé orange/rose), la pastille devient
   blanche pour rester lisible sur le fond coloré. */
.page-collectif .carte_mission:hover .elementor-widget-text-editor a[target="_blank"] {
	background-color: #FFFFFF;
	border-color: #FFFFFF;
	color: #184762;
}

/* Partenaire (single) — élargir le conteneur de contenu pour limiter le scroll.
   Le bloc de contenu Elementor était « boxed » à 945px ; on l'aligne sur la
   largeur de l'en-tête et du pied de page (1300px), ce qui élargit la colonne
   de texte et la carte logo, et réduit la hauteur de page.
   TEST sur la fiche partenaire — à étendre ensuite aux actualités et ressources
   si le rendu convient. */
.single-partenaire .elementor-element-b0e05a8 > .e-con-inner {
	max-width: 1300px;
}

/* ==========================================================================
   Footer — colonne logo en mobile : le logo rond et le bloc « Soutenu &
   financé par l'ARS » « flottaient » en haut-à-gauche d'une colonne trop
   large. On recentre tout sur le même axe vertical, on réduit le logo rond
   (274px, trop dominant sur mobile) et on transforme l'image ARS en carte
   blanche assumée (largeur cohérente, coins arrondis, légère ombre, centrée).
   Le bloc ARS (25900c8) est elementor-hidden-desktop → mobile/tablette seul.
   ========================================================================== */
@media (max-width: 768px) {
	/* Conteneur [logo rond + bloc ARS] : centrage horizontal des enfants.
	   !important + double classe car Elementor cible déjà ces conteneurs en
	   .elementor-element.elementor-element-xxx (spécificité supérieure). */
	.elementor-element.elementor-element-fd47c19,
	.elementor-element.elementor-element-25900c8 {
		align-items: center !important;
		text-align: center !important;
		justify-content: center !important;
	}

	/* Empiler logo rond + bloc ARS l'un sous l'autre : à certaines largeurs
	   mobiles (≈600px), Elementor garde le conteneur en flex-direction: row,
	   d'où logo et ARS côte à côte (centrés en groupe mais décalés chacun).
	   Forcer la colonne les recentre individuellement sur tout le mobile. */
	.elementor-element.elementor-element-fd47c19 {
		flex-direction: column !important;
	}

	/* Logo rond : réduire pour rééquilibrer avec le bloc ARS en dessous */
	.elementor-element-372b8be img {
		max-width: 200px;
		height: auto;
	}

	.elementor-element-5dda70e p {
		text-align: center;
		margin-bottom: 12px;
	}

	/* Image ARS = carte blanche propre : largeur contenue, padding, coins
	   arrondis et ombre douce pour qu'elle se lise comme une carte voulue. */
	.elementor-element-74c565e img {
		display: block;
		margin: 0 auto;
		max-width: 230px;
		height: auto;
		padding: 10px;
		background: #fff;
		border-radius: 10px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	}
}

/* ==========================================================================
   Partenaire (single) — NORMALISATION DU LOGO (image mise en avant, 0c79d93).
   Problème signalé par la cliente : les logos qu'elle importe ont des tailles
   et ratios très hétérogènes (de 166×61 à 2560×816 en prod : carré, bannière
   large, portrait, PNG/JPG/WebP/GIF). Sans contrainte de hauteur, chacun
   s'affiche à sa propre échelle → un logo minuscule à côté d'un géant, une
   bannière qui mange la colonne. On borne le logo à une ZONE DE HAUTEUR
   CONSTANTE et on le « contient » dedans (object-fit) : quel que soit le
   fichier importé, il occupe la même hauteur et reste lisible, sans avoir à
   le recadrer à la main avant l'upload.
   — CSS seul, s'applique aux 20 fiches d'un coup.
   — Format à plat conservé : pas de cadre ni de fond (juste la mise à
     l'échelle), pour rester cohérent avec le reste de la fiche.
   ========================================================================== */
.single-partenaire .elementor-element-0c79d93 .elementor-widget-container {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 150px;
}
.single-partenaire .elementor-element-0c79d93 img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 150px !important;
	object-fit: contain;
	margin: 0;
}

/* Le conteneur du logo (3d02232) était un « gros bloc blanc » : fond blanc,
   rayon 32px, grosse ombre 20px et padding 70px → carte énorme et lourde.
   On le ramène à un cadre discret (fine bordure, petit rayon, sans ombre) pour
   rester cohérent avec la charte et la demande « pas de gros blocs blancs ». */
.single-partenaire .elementor-element-3d02232 {
	background: #ffffff !important;
	border: 1px solid #ECE7EA !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	padding: 24px !important;
}

@media (max-width: 768px) {
	.single-partenaire .elementor-element-0c79d93 .elementor-widget-container {
		min-height: 110px;
	}
	.single-partenaire .elementor-element-0c79d93 img {
		max-height: 110px !important;
	}
}

/* ==========================================================================
   Partenaire (single) — SECTIONS DE CONTENU.
   Les 3 blocs titrés du template (Présentation = ce8e52d, bloc secondaire =
   570913c, bloc tertiaire = 532d703) sont alignés à gauche et soulignés d'un
   trait rose, pour une hiérarchie de sections claire et cohérente avec la
   charte (marine + rose). Aligné sur la maquette validée.
   ========================================================================== */
.single-partenaire .elementor-element-ce8e52d .elementor-heading-title,
.single-partenaire .elementor-element-570913c .elementor-heading-title,
.single-partenaire .elementor-element-532d703 .elementor-heading-title {
	text-align: left !important;
}
.single-partenaire .elementor-element-ce8e52d .elementor-heading-title::after,
.single-partenaire .elementor-element-570913c .elementor-heading-title::after,
.single-partenaire .elementor-element-532d703 .elementor-heading-title::after {
	content: "";
	display: block;
	width: 52px;
	height: 4px;
	background: #E84A6D;
	border-radius: 9999px;
	margin: 12px 0 0;
}

/* Masquer les sections VIDES : si la cliente n'a pas rempli un bloc (titre ou
   texte), le widget ne doit pas laisser un titre orphelin ni un espace vide.
   (Décision : sections masquées si vides.) */
.single-partenaire .elementor-widget-heading .elementor-heading-title:empty {
	display: none;
}
.single-partenaire .elementor-element-ce8e52d:has(.elementor-heading-title:empty),
.single-partenaire .elementor-element-570913c:has(.elementor-heading-title:empty),
.single-partenaire .elementor-element-532d703:has(.elementor-heading-title:empty) {
	display: none;
}

/* Chiffres clés → cartes (rendu généré par crpo_partenaire_chiffres_cartes()).
   Grand nombre rose + libellé, sur un fond gris très clair. Pas un « gros bloc
   blanc » : petites cartes stat alignées en grille, format à plat conservé. */
.single-partenaire .crpo-chiffres {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 16px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
.single-partenaire .crpo-chiffre {
	background: #F7F5F7;
	border-radius: 12px;
	padding: 22px 16px;
	text-align: center;
}
.single-partenaire .crpo-chiffre-num {
	display: block;
	color: #E84A6D;
	font-weight: 900;
	font-size: 30px;
	line-height: 1;
}
.single-partenaire .crpo-chiffre-lab {
	display: block;
	color: #776979;
	font-weight: 700;
	font-size: 14px;
	margin-top: 8px;
	line-height: 1.3;
}

/* ==========================================================================
   Partenaire (single) — HERO : labels (pills) + alignement à gauche.
   Les repères (territoire, domaines, « Depuis AAAA ») s'affichent en pills
   dans l'en-tête, alignées à gauche. Le territoire est en rose (accent).
   ========================================================================== */
.single-partenaire .crpo-enbref {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 4px 0 0;
	justify-content: flex-start;
}
.single-partenaire .crpo-tag {
	font-size: 13px;
	font-weight: 700;
	padding: 7px 14px;
	border-radius: 9999px;
	background: #F4F0F3;
	color: #184762;
	border: 1px solid #E5E1E4;
}
.single-partenaire .crpo-tag--terr {
	background: #FDD0DA;
	color: #E84A6D;
	border-color: #FDD0DA;
}
/* Masquer le porteur des pills si aucun champ (shortcode vide). */
.single-partenaire .crpo-enbref-wrap:not(:has(.crpo-enbref)) {
	display: none !important;
}
/* « Kicker » de l'en-tête (PARTENAIRE DU CRPO). */
.single-partenaire .crpo-kicker .elementor-heading-title {
	color: #E84A6D;
	font-weight: 800;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}
/* Titre principal (nom du partenaire) : CENTRÉ (seul élément centré de l'en-tête,
   le reste reste aligné à gauche). */
.single-partenaire .elementor-element-8ab9c34 .elementor-heading-title {
	text-align: center !important;
}

/* Titres de section alignés à gauche (on ne centre pas). Concerne les blocs
   « Son histoire » (570913c) et « Chiffres clés » (532d703) qui étaient centrés
   par leur conteneur. align-self ne déplace que le titre, pas l'image/les cartes. */
.single-partenaire .elementor-element-570913c,
.single-partenaire .elementor-element-532d703 {
	align-self: flex-start !important;
}
.single-partenaire .elementor-element-570913c .elementor-heading-title,
.single-partenaire .elementor-element-532d703 .elementor-heading-title {
	text-align: left !important;
}

/* Sections rendues par shortcode (Ses valeurs, Galerie) : titre + trait rose,
   même style que les titres de section Elementor. */
.single-partenaire .crpo-sec {
	margin-top: 40px;
}
.single-partenaire .crpo-h2 {
	color: #184762;
	font-weight: 800;
	font-size: 26px;
	margin: 0 0 6px;
	text-align: left;
}
.single-partenaire .crpo-h2::after {
	content: "";
	display: block;
	width: 52px;
	height: 4px;
	background: linear-gradient(135deg, #EE7E4B, #EC686E, #EB587B);
	border-radius: 9999px;
	margin: 12px 0 18px;
}

/* Ses valeurs — pastilles avec pastille ronde accent. */
.single-partenaire .crpo-valeurs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.single-partenaire .crpo-valeur {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: #F4F0F3;
	border-radius: 9999px;
	padding: 7px 14px 7px 9px;
	font-size: 13px;
	font-weight: 700;
	color: #184762;
}
.single-partenaire .crpo-valeur::before {
	content: "";
	width: 14px;
	height: 14px;
	border-radius: 9999px;
	background: linear-gradient(135deg, #EE7E4B, #EC686E, #EB587B);
	flex: none;
}

/* Citation — bloc bleu dégradé. */
/* Citation — texte propre, sans cadre bleu : guillemet rose + texte marine, centré. */
.single-partenaire .crpo-citation {
	background: transparent;
	color: #184762;
	border: 0;
	padding: 8px 0 0;
	margin: 0;
	text-align: center;
}
.single-partenaire .crpo-citation-mark {
	color: #E84A6D;
	font-size: 56px;
	line-height: 0.4;
	font-weight: 900;
	display: block;
}
.single-partenaire .crpo-citation blockquote {
	margin: 8px auto 0;
	border: 0;
	padding: 0;
	max-width: 700px;
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1.45;
	color: #184762;
}
.single-partenaire .crpo-citation figcaption {
	margin-top: 14px;
	color: #776979;
	font-weight: 700;
	font-size: 0.95rem;
}

/* Galerie d'images — grille. */
.single-partenaire .crpo-galerie {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
}
.single-partenaire .crpo-galerie-item {
	display: block;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
.single-partenaire .crpo-galerie-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.2s ease;
}
.single-partenaire .crpo-galerie-item:hover img {
	transform: scale(1.04);
}

/* Masquer les widgets shortcode qui n'ont rien rendu (citation/valeurs/galerie
   vides) pour ne pas laisser d'espace. */
.single-partenaire .elementor-widget-shortcode:has(> .elementor-widget-container:empty) {
	display: none !important;
}

/* ==========================================================================
   FICHE PARTENAIRE — rendu maison [crpo_fiche_partenaire] (contrôle total).
   ========================================================================== */
.single-partenaire .cf {
	max-width: 1120px;
	margin: 0 auto;
	padding: 8px 0 64px;
}
.single-partenaire .cf-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #184762;
	font-weight: 800;
	text-decoration: none;
	font-size: 14px;
}
.single-partenaire .cf-back:hover {
	color: #E84A6D;
}
/* Surtitre « PARTENAIRE DU CRPO » : centré, au-dessus du titre. */
.single-partenaire .cf-kicker-top {
	display: block;
	text-align: center;
	margin: 12px 0 2px;
}
/* Section « visuels » : images (infographies, carte…) en rangée centrée, sans
   recadrage ni agrandissement. */
.single-partenaire .cf-visuels {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	align-items: flex-start;
	margin-top: 8px;
}
.single-partenaire .cf-visuel {
	margin: 0;
	flex: 0 1 auto;
}
.single-partenaire .cf-visuel img {
	display: block;
	max-width: 100%;
	max-height: 360px;
	width: auto;
	height: auto;
	border-radius: 12px;
}
/* Une carte / infographie SEULE dans sa section (ex. carte de territoire
   RésO, détaillée) : bridée à 360px elle devient illisible → on l'affiche
   nettement plus grande (les petits pictos restent en grille, eux). */
.single-partenaire .cf-visuels .cf-visuel:only-child img {
	max-width: min(100%, 600px);
	max-height: 900px;
}

/* Titre principal : centré. */
.single-partenaire .cf-title {
	text-align: center;
	color: #E84A6D;
	font-weight: 900;
	font-size: 2.4rem;
	line-height: 1.15;
	margin: 2px 0 26px;
}

/* En-tête : zone logo réduite (300px) | identité alignée à gauche. */
/* Hero — Option B : colonne centrée (logo en haut, tout centré). */
.single-partenaire .cf-hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.single-partenaire .cf-logo {
	background: #fff;
	border: 1px solid #ECE7EA;
	border-radius: 16px;
	padding: 24px 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}
.single-partenaire .cf-logo-img {
	max-width: 100%;
	max-height: 95px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.single-partenaire .cf-id {
	max-width: 780px;
}
/* Kicker en surtitre. */
.single-partenaire .cf-kicker {
	display: block;
	color: #E84A6D;
	font-weight: 800;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}
.single-partenaire .cf-accroche {
	color: #184762;
	font-weight: 800;
	font-size: 1.65rem;
	line-height: 1.2;
	margin: 6px 0 0;
}
/* Extrait (champ « Extrait » du BO) : chapeau d'introduction sous le sous-titre,
   au-dessus des pastilles. Facultatif (masqué si vide). */
.single-partenaire .cf-extrait {
	max-width: 960px;
	margin: 14px auto 0;
	color: #184762;
	font-size: 1.05rem;
	line-height: 1.6;
}
.single-partenaire .cf-hero .crpo-enbref {
	margin-top: 16px;
	justify-content: center;
}
.single-partenaire .cf-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 20px;
	border: 1.5px solid #184762 !important;
	color: #184762;
	background: transparent;
	border-radius: 25px;
	padding: 7px 20px;
	font-size: 14.5px;
	line-height: 1.5 !important;
	font-weight: 700;
	text-decoration: none;
	transition: 0.2s ease;
}
.single-partenaire .cf-btn:hover {
	background: #184762;
	color: #fff;
	border-color: #184762 !important;
	line-height: 1.5 !important;
}

/* Sections */
.single-partenaire .cf-sec {
	margin-top: 64px;
}
.single-partenaire .cf-prose {
	color: #184762;
	font-size: 16px;
	line-height: 1.7;
	max-width: 560px;
}
/* Sections SANS image (prose enfant direct de .cf-sec) : le contenu prend toute
   la largeur (texte + pastilles + cartes de chiffres remplissent l'espace).
   Les cartes avec image gardent la largeur de lecture (560px). */
.single-partenaire .cf-sec > .cf-prose {
	max-width: none;
}
.single-partenaire .cf-prose p {
	margin: 0 0 14px;
}
.single-partenaire .cf-prose p:last-child {
	margin-bottom: 0;
}
/* Liens dans le corps des fiches : rendus visibles (couleur marque +
   soulignement), sinon ils se confondent avec le texte (ex. plaquette APAJH). */
.single-partenaire .cf-prose a {
	color: #E84A6D;
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: 600;
}
.single-partenaire .cf-prose a:hover {
	color: #184762;
}
/* Lien vers un PDF (ex. « Retrouvez la plaquette ») → bouton pilule, aligné sur
   les CTA du site, avec une flèche de téléchargement. */
.single-partenaire .cf-prose a[href$=".pdf"] {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
	border: 1.5px solid #184762;
	border-radius: 25px;
	padding: 7px 20px;
	color: #184762;
	font-size: 14.5px;
	line-height: 1.5 !important;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.single-partenaire .cf-prose a[href$=".pdf"]::after {
	content: "\2193";
	font-weight: 700;
}
.single-partenaire .cf-prose a[href$=".pdf"]:hover {
	background: #184762;
	color: #fff;
	line-height: 1.5 !important;
	transform: none;
}
.single-partenaire .cf-sec .crpo-valeurs {
	margin-top: 22px;
}

/* Bloc « Son histoire » (avec image) : carte blanche, image à gauche agrandie
   + titre/texte à droite. */
/* Carte de section — alignée sur le style du site (radius 24px, ombre douce). */
.single-partenaire .cf-card {
	background: #ffffff;
	border-radius: 24px;
	padding: 32px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.single-partenaire .cf-bloc-grid.has-img {
	display: grid;
	grid-template-columns: 420px 1fr;
	gap: 36px;
	align-items: center;
}
/* Blocs de contenu (hors Présentation) : image alignée EN HAUT, pas centrée
   verticalement, sinon elle flotte au milieu d'un long texte. */
.single-partenaire .cf-bloc-grid.has-img:not(.cf-pres) {
	align-items: start;
}
.single-partenaire .cf-bloc-img img {
	width: 100%;
	border-radius: 12px;
	object-fit: cover;
	display: block;
}
.single-partenaire .cf-bloc-main .crpo-h2 {
	margin-top: 0;
}

/* Image PAYSAGE → bannière pleine largeur au-dessus du texte. Évite l'image
   minuscule coincée dans une colonne latérale à côté d'un long texte (les photos
   du site sont quasi toutes en format paysage). Carte centrée, largeur de lecture. */
.single-partenaire .cf-has-banner {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
.single-partenaire .cf-banner {
	margin: 0 0 40px;
	text-align: center;
}
/* Jamais recadrée ni agrandie : max-width 100 % (on réduit une grande image à la
   largeur de la carte, mais on n'étire pas une petite → pas de flou), hauteur
   naturelle → le texte intégré aux infographies reste toujours lisible. */
.single-partenaire .cf-banner img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
	display: inline-block;
}
.single-partenaire .cf-has-banner .cf-bloc-main .crpo-h2 {
	margin-top: 0;
}
.single-partenaire .cf-has-banner .cf-prose {
	max-width: none;
}

/* Présentation : le logo sert d'image (colonne plus étroite, logo NON recadré). */
.single-partenaire .cf-bloc-grid.cf-pres {
	grid-template-columns: 300px 1fr;
}
.single-partenaire .cf-pres-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}
.single-partenaire .cf-pres-logo img {
	width: auto;
	max-width: 100%;
	max-height: 170px;
	object-fit: contain;
	border-radius: 0;
}
/* Intitulé « Valeurs ». */
.single-partenaire .cf-over {
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #776979;
	margin: 22px 0 10px;
}

/* Bloc CONTACT : bandeau dégradé rose (cohérent avec les CTA du site). */
.single-partenaire .cf-contact-band {
	background: linear-gradient(135deg, #EE7E4B, #EC686E, #EB587B);
	color: #fff;
	border-radius: 24px;
	padding: 44px 40px;
	text-align: center;
}
/* Tout le contenu du bandeau contact en blanc, quel que soit le tag collé par la
   cliente (titres h1-h6, <strong>, liens…). Sans ce garde-fou, un contenu collé
   sous forme de <h6> hérite du bleu des titres du thème (plus spécifique que
   .cf-contact-info) → texte bleu illisible sur fond rose (ex. Les amis de l'enfance). */
.single-partenaire .cf-contact-band,
.single-partenaire .cf-contact-band * {
	color: #fff !important;
}
.single-partenaire .cf-contact-band .crpo-h2 {
	color: #fff;
	margin: 0;
	text-align: center !important;
}
.single-partenaire .cf-contact-band .crpo-h2::after {
	display: none;
}
.single-partenaire .cf-contact-info {
	color: #fff;
	font-size: 16px;
	line-height: 1.8;
	margin-top: 12px;
}
.single-partenaire .cf-contact-info p {
	margin: 0 0 6px;
}
.single-partenaire .cf-contact-info a {
	color: #fff !important;
	text-decoration: underline;
}
.single-partenaire .cf-contact-map {
	margin-top: 22px;
}
.single-partenaire .cf-contact-map img {
	max-height: 280px;
	max-width: 100%;
	width: auto;
	object-fit: contain;
	border-radius: 12px;
	background: #fff;
	padding: 8px;
	display: inline-block;
}
@media (max-width: 768px) {
	.single-partenaire .cf-contact-band {
		padding: 32px 22px;
	}
	.single-partenaire .cf-contact-map img {
		max-height: 220px;
	}
}

/* Listes d'items courts (ex. établissements) → pastilles compactes, plus
   lisibles qu'une longue liste à puces verticale. */
.single-partenaire .crpo-taglist {
	list-style: none;
	margin: 14px 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.single-partenaire .crpo-taglist li {
	background: #ffffff;
	border: 1px solid #E5E1E4;
	border-radius: 9999px;
	padding: 8px 16px;
	font-weight: 700;
	color: #184762;
	font-size: 14px;
}

/* Annuaire : longue liste d'entrées (ex. les 24 associations membres du GISH) →
   grille multi-colonnes plutôt qu'une colonne unique interminable. Bien plus
   scannable : l'œil parcourt 3 colonnes courtes au lieu d'une seule très longue. */
.single-partenaire .crpo-collist {
	columns: 3;
	column-gap: 40px;
	margin: 16px 0;
	padding: 0;
	list-style: none;
	max-width: none;
}
.single-partenaire .crpo-collist li {
	position: relative;
	break-inside: avoid;          /* un nom n'est jamais coupé entre 2 colonnes */
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	margin: 0 0 12px;
	padding-left: 20px;
	color: #184762;
	font-size: 15px;
	line-height: 1.4;
}
/* Puce ronde maison (couleur d'accent), alignée quelle que soit la hauteur du nom. */
.single-partenaire .crpo-collist li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.5em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #E84A6D;
}
@media (max-width: 1024px) {
	.single-partenaire .crpo-collist { columns: 2; }
}
@media (max-width: 600px) {
	.single-partenaire .crpo-collist { columns: 1; }
}

@media (max-width: 768px) {
	.single-partenaire .cf-hero {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.single-partenaire .cf-logo {
		max-width: 280px;
	}
	.single-partenaire .cf-title {
		font-size: 1.9rem;
	}
	.single-partenaire .cf-bloc-grid.has-img {
		grid-template-columns: 1fr;
	}
	.single-partenaire .cf-banner img {
		border-radius: 12px;
	}
}

/* Page /ressources : sélecteur de thématique (Search & Filter) agrandi et rendu
   plus visible (retour référente : 12px = trop petit / « yeux qui se perdent »).
   On reste dans la charte : texte bleu primaire, focus rose CRPO, pas de rouge. */
.searchandfilter .sf-input-select {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #184762 !important;
	line-height: 1.3 !important;
	height: auto !important;
	min-height: 46px !important;
	padding: 12px 48px 12px 18px !important;
	border: 1.5px solid #184762 !important;
	border-radius: 10px !important;
	min-width: 240px !important;
	max-width: 100% !important;
	cursor: pointer;
	/* Flèche native retirée + chevron perso décalé du bord droit (16px). */
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-color: #ffffff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23184762' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 16px 16px !important;
}
.searchandfilter .sf-input-select:focus {
	outline: none !important;
	border-color: #E84A6D !important;
	box-shadow: 0 0 0 3px rgba(232, 74, 109, 0.18) !important;
}
@media (max-width: 600px) {
	.searchandfilter .sf-input-select {
		width: 100% !important;
	}
}

/* Page « Nos actions » : titres des 5 cartes moyens d'action uniformisés sur celui
   de « Accueil, orientation, soutien » (21px). Ce dernier avait été plafonné à 21px
   pour tenir sur une ligne malgré la virgule ajoutée par la cliente ; on aligne les
   4 autres (Réseau et expertise, Information et diffusion, Développement des
   compétences, Conseil et coopération) dessus pour une typo homogène. */
.elementor-element-5f68b27 .elementor-heading-title,
.elementor-element-fee828b .elementor-heading-title,
.elementor-element-4a8805e .elementor-heading-title,
.elementor-element-b1d9944 .elementor-heading-title,
.elementor-element-02ba521 .elementor-heading-title {
	font-size: 21px !important;
	line-height: 1.35 !important;
}
@media (max-width: 1024px) {
	.elementor-element-5f68b27 .elementor-heading-title,
	.elementor-element-fee828b .elementor-heading-title,
	.elementor-element-4a8805e .elementor-heading-title,
	.elementor-element-b1d9944 .elementor-heading-title,
	.elementor-element-02ba521 .elementor-heading-title {
		font-size: 20px !important;
	}
}

/* Page « Notre équipe régionale » (grille des référentes) : cellule fusionnée
   « Ariège & Haute-Garonne ». Choix cliente (04/09) : Floriane et Julia empilées
   dans la MÊME colonne (l'une sous l'autre), pas côte à côte. La cellule occupe
   donc 1 seule colonne comme les autres et empile son contenu verticalement
   (titre → Floriane nom+contact → Julia nom+contact) = comportement par défaut,
   aucune règle de mise en page spécifique nécessaire. */
/* Les cellules de la grille étaient étirées à la hauteur de la plus haute de leur
   ligne et « justify-content: space-between » creusait un grand vide entre le nom
   et les coordonnées. On packe le contenu en haut et on réduit l'écart interne. */
.elementor-element-690cb80 > .e-con {
	justify-content: flex-start !important;
	row-gap: 12px !important;
}
/* La grille imposait des lignes de hauteur FIXE (grid-template-rows: 240px×4).
   Depuis que la cellule Ariège & Haute-Garonne contient 2 référentes (plus haute),
   les lignes courtes gardaient 240px → gros vides sous les cellules. On laisse les
   lignes s'adapter à leur contenu (lignes implicites auto). */
.elementor-element-690cb80 {
	grid-template-rows: none !important;
	grid-auto-rows: auto !important;
}
/* …mais la cellule Ariège & Haute-Garonne (2 référentes) restait seule sur sa
   ligne, plus haute que Lozère/Aude → gros vide sous ces deux dernières. On lui
   fait occuper 2 lignes de grille (grid-row: span 2) : les cellules suivantes
   (Gers, Hautes-Pyrénées…) se replacent alors sous Lozère/Aude et comblent le
   vide, tandis qu'Ariège garde sa hauteur naturelle. Cellule = fbe5b3b. */
.elementor-element-fbe5b3b {
	grid-row: span 2 !important;
}
/* En 1 colonne (mobile), la grille s'empile : le span 2 n'a plus lieu d'être et
   fausserait le flux → on le neutralise. */
@media (max-width: 767px) {
	.elementor-element-fbe5b3b {
		grid-row: auto !important;
	}
}

/* Page « Comprendre le polyhandicap » : boutons « décret Légifrance » (47165db) et
   « synthèse de l'expertise collective INSERM » (5fcc019) → rose CRPO, texte et
   flèche blancs. Le bouton INSERM est aussi rentré dans sa carte blanche (via les
   données Elementor) pour un rendu identique au bouton Légifrance. */
.elementor-element-47165db .elementor-button,
.elementor-element-5fcc019 .elementor-button {
	background-color: #E84A6D !important;
	color: #ffffff !important;
	border-color: #E84A6D !important;
}
.elementor-element-47165db .elementor-button:hover,
.elementor-element-5fcc019 .elementor-button:hover {
	background-color: #d13f5f !important;
	border-color: #d13f5f !important;
}
.elementor-element-47165db .elementor-button svg,
.elementor-element-47165db .elementor-button .elementor-button-icon,
.elementor-element-5fcc019 .elementor-button svg,
.elementor-element-5fcc019 .elementor-button .elementor-button-icon {
	fill: #ffffff !important;
	color: #ffffff !important;
}
/* Le conteneur du bouton avait 72px de padding-top → gros vide au-dessus. */
.elementor-element-fe5fc19 > .e-con-inner {
	padding-top: 0 !important;
}
/* ...mais du coup le titre « Le polyhandicap, de quoi parle-t-on ? » se
   retrouvait collé au bas de la photo. On réintroduit un espace uniquement
   au-dessus de ce titre (le reste du bloc descend d'autant, rien d'autre ne bouge). */
.elementor-4216 .elementor-element-7a33286 {
	margin-top: 40px !important;
}

/* Rythme vertical cohérent de la section « Le polyhandicap, de quoi parle-t-on ? »
   (les valeurs Elementor d'origine étaient dépareillées : 30 / 0 / 74 px).
   Échelle : titre→sous-titre 24, sous-titre→texte 12, texte→carte 40. */
.elementor-4216 .elementor-element-7a33286 > .elementor-widget-container {
	margin-bottom: 24px !important;
}
.elementor-4216 .elementor-element-a64afef > .elementor-widget-container {
	margin-bottom: 12px !important;
}
.elementor-4216 .elementor-element-aadbde1 > .elementor-widget-container {
	margin-bottom: 40px !important;
}
/* Bloc citation → écart net avant le bouton « badge » (24 px sous la citation). */
.elementor-4216 .elementor-element-681eb54 {
	margin-bottom: 24px !important;
}

/* Bouton « synthèse INSERM » : entièrement DANS la carte blanche (badge),
   centré verticalement dans l'espace bas — plus « à cheval » sur le bord.
   La carte manquait de place en bas (64px sous le texte) : on agrandit son
   padding bas pour dégager du blanc, puis on remonte le bouton (marge
   négative) pour qu'il tombe centré dans ce blanc (~36px au-dessus/en-dessous).
   Scopé à la page 4216 : carte b08bd97 + bouton 47165db peuvent exister sur
   le duplicata « Collectif francophone » (mêmes IDs Elementor). */
.elementor-4216 .elementor-element-b08bd97 {
	padding-bottom: 92px !important;
}
.elementor-4216 .elementor-element-47165db {
	margin-top: -110px !important;
	position: relative;
	z-index: 2;
}
/* Mobile : le libellé passe sur 2 lignes (bouton plus haut) → on remonte un
   peu plus pour garder l'espace haut/bas symétrique dans la carte. */
@media (max-width: 767px) {
	.elementor-4216 .elementor-element-47165db {
		margin-top: -120px !important;
	}
}

/* Page « Comprendre le polyhandicap » : bouton « Consulter la synthèse … HAS »
   La classe globale .prim-dark-btn est prévue pour un fond sombre (hero) : au
   survol elle passe le fond en transparent + texte blanc → illisible sur le fond
   clair de cette page. On force ici un hover bleu CRPO lisible. */
/* Fond rose CRPO de base (comme les boutons Légifrance / INSERM au-dessus) —
   la classe globale .prim-dark-btn le laissait blanc. Texte + flèche blancs. */
.page-id-4216 .elementor-element-b42642b .elementor-button {
	background-color: #E84A6D !important;
	color: #ffffff !important;
	border-color: #E84A6D !important;
}
.page-id-4216 .elementor-element-b42642b .elementor-button svg,
.page-id-4216 .elementor-element-b42642b .elementor-button .elementor-button-icon {
	fill: #ffffff !important;
	color: #ffffff !important;
}
.page-id-4216 .elementor-element-b42642b .elementor-button:hover {
	background-color: #d13f5f !important;
	color: #ffffff !important;
	border-color: #d13f5f !important;
}
.page-id-4216 .elementor-element-b42642b .elementor-button:hover svg,
.page-id-4216 .elementor-element-b42642b .elementor-button:hover .elementor-button-icon {
	fill: #ffffff !important;
	color: #ffffff !important;
}

/* (Ancien #7 retiré le 2026-09-04 : le masquage de la carte « Notre implantation »
   sur « Réseaux et expertise » n'est plus forcé en CSS. L'affichage est désormais
   piloté 100 % par le champ ACF « Section carte — Code d'intégration » du BO :
   rempli = carte visible, vide = section non rendue.) */

/* ==== Newsletter (/newsletter) — scopé par CLASSE (.crpo-nl-* / .crpo-brevo-form),
   indépendant de l'ID de page pour fonctionner à l'identique en local et en prod. ==== */
/* !important : sans le scope .page-id-XXXX, les règles Astra .entry-content h1/p
   sont plus spécifiques et écrasaient la couleur du titre + la marge de l'intro. */
.crpo-nl-title {
	text-align: center !important;
	color: #E84A6D !important;
	font-weight: 800;
	margin: 0 0 1.2rem !important;
}
.crpo-nl-intro {
	text-align: center !important;
	color: #184762 !important;
	max-width: 760px;
	margin: 0 auto 2.8rem !important;
	line-height: 1.6;
}
/* Formulaire natif Brevo (embed) habillé à la charte CRPO. */
.crpo-brevo-form {
	max-width: 560px;
	margin: 0 auto;
}
.crpo-brevo-form .sib-form {
	padding: 0 !important;
	background: transparent !important;
}
.crpo-brevo-form #sib-container {
	background: #fff !important;
	max-width: 560px;
	margin: 0 auto;
	padding: 2.2rem 2.4rem !important;
	border: 0 !important;
	border-radius: 16px !important;
	box-shadow: 0 6px 28px rgba(24, 71, 98, 0.10) !important;
	text-align: left !important;
}
/* Police charte sur tout le formulaire (écrase les styles inline Helvetica de Brevo). */
.crpo-brevo-form #sib-container,
.crpo-brevo-form #sib-container * {
	font-family: 'Nunito', 'Helvetica Neue', Arial, sans-serif !important;
}
.crpo-brevo-form #sib-container .entry__label {
	display: block;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	margin-bottom: 0.4rem;
	color: #184762 !important;
	text-align: left !important;
}
.crpo-brevo-form #sib-container input.input {
	width: 100%;
	padding: 0.75rem 0.95rem !important;
	border: 1px solid #cbd2d8 !important;
	border-radius: 8px !important;
	font-size: 16px !important;
	color: #184762 !important;
	box-sizing: border-box;
}
.crpo-brevo-form #sib-container input.input:focus {
	outline: none;
	border-color: #E84A6D !important;
	box-shadow: 0 0 0 3px rgba(232, 74, 109, 0.15) !important;
}
.crpo-brevo-form #sib-container .crpo-optin-text {
	font-size: 0.85rem !important;
	line-height: 1.35 !important;
	color: #4a4a4a !important;
}
/* Le lien RGPD doit avoir la même taille/graisse que le texte du consentement
   (Brevo force sinon une taille plus grande sur les <a>). */
.crpo-brevo-form #sib-container .crpo-optin-text a {
	font-size: inherit !important;
	line-height: inherit !important;
	font-weight: 400 !important;
}
.crpo-brevo-form #sib-container .entry__specification {
	font-size: 0.75rem !important;
	color: #8390A4 !important;
	text-align: left !important;
}
/* Bouton = CTA rose charte (pilule). */
.crpo-brevo-form #sib-container .sib-form-block__button {
	background-color: #E84A6D !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 0.8rem 2.2rem !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.crpo-brevo-form #sib-container .sib-form-block__button:hover {
	background-color: #d13f5f !important;
}
/* Bloc de confirmation affiché À LA PLACE du formulaire après inscription. */
.crpo-brevo-form .crpo-nl-confirmed {
	background: #fff;
	max-width: 560px;
	margin: 0 auto;
	padding: 2.6rem 2.4rem;
	border-radius: 16px;
	box-shadow: 0 6px 28px rgba(24, 71, 98, 0.10);
	text-align: center;
}
.crpo-brevo-form .crpo-nl-confirmed__title {
	display: block;
	color: #E84A6D;
	font-weight: 800;
	font-size: 1.6rem;
	line-height: 1.2;
	margin-bottom: 0.8rem;
}
.crpo-brevo-form .crpo-nl-confirmed__text {
	color: #184762;
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
}

/* EOF */
