.elementor-kit-6{--e-global-color-primary:#D1205C;--e-global-color-secondary:#70B732;--e-global-color-text:#252525;--e-global-color-accent:#3A7320;--e-global-color-pprosep:#B81A50;--e-global-color-ppink02:#5C5660;--e-global-color-ppnuit1:#1F1D21;--e-global-color-ppnuit2:#2A272D;--e-global-color-ppsurfa:#F7F4F5;--e-global-color-ppropal:#FBEFF3;--e-global-color-ppverpa:#F0F7E9;--e-global-color-ppbordu:#E8E3E6;--e-global-color-ppvbadg:#4E8A22;--e-global-color-ppblanc:#FFFFFF;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-weight:600;--e-global-typography-pph1hom-font-family:"Poppins";--e-global-typography-pph1hom-font-size:56px;--e-global-typography-pph1hom-font-weight:600;--e-global-typography-pph1hom-line-height:1.1em;--e-global-typography-pph1int-font-family:"Poppins";--e-global-typography-pph1int-font-size:48px;--e-global-typography-pph1int-font-weight:600;--e-global-typography-pph1int-line-height:1.12em;--e-global-typography-pph2sec-font-family:"Poppins";--e-global-typography-pph2sec-font-size:40px;--e-global-typography-pph2sec-font-weight:600;--e-global-typography-pph2sec-line-height:1.15em;--e-global-typography-pph2fic-font-family:"Poppins";--e-global-typography-pph2fic-font-size:28px;--e-global-typography-pph2fic-font-weight:600;--e-global-typography-pph2fic-line-height:1.25em;--e-global-typography-pph3crd-font-family:"Poppins";--e-global-typography-pph3crd-font-size:22px;--e-global-typography-pph3crd-font-weight:600;--e-global-typography-pph3crd-line-height:1.3em;--e-global-typography-ppchapo-font-family:"Inter";--e-global-typography-ppchapo-font-size:20px;--e-global-typography-ppchapo-font-weight:400;--e-global-typography-ppchapo-line-height:1.55em;--e-global-typography-pptexte-font-family:"Inter";--e-global-typography-pptexte-font-size:16px;--e-global-typography-pptexte-font-weight:400;--e-global-typography-pptexte-line-height:1.6em;--e-global-typography-pptxtpe-font-family:"Inter";--e-global-typography-pptxtpe-font-size:14px;--e-global-typography-pptxtpe-font-weight:400;--e-global-typography-pptxtpe-line-height:1.5em;--e-global-typography-ppeyebr-font-family:"Poppins";--e-global-typography-ppeyebr-font-size:13px;--e-global-typography-ppeyebr-font-weight:600;--e-global-typography-ppeyebr-text-transform:uppercase;--e-global-typography-ppeyebr-line-height:1.3em;--e-global-typography-ppeyebr-letter-spacing:0.12em;--e-global-typography-ppbouto-font-family:"Poppins";--e-global-typography-ppbouto-font-size:16px;--e-global-typography-ppbouto-font-weight:600;--e-global-typography-ppbouto-line-height:1.4em;color:var( --e-global-color-text );font-family:var( --e-global-typography-pptexte-font-family ), Sans-serif;font-size:var( --e-global-typography-pptexte-font-size );font-weight:var( --e-global-typography-pptexte-font-weight );line-height:var( --e-global-typography-pptexte-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-ppbouto-font-family ), Sans-serif;font-size:var( --e-global-typography-ppbouto-font-size );font-weight:var( --e-global-typography-ppbouto-font-weight );line-height:var( --e-global-typography-ppbouto-line-height );color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:15px 28px 15px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-pprosep );color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-pprosep );}.elementor-kit-6 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-pph1int-font-family ), Sans-serif;font-size:var( --e-global-typography-pph1int-font-size );font-weight:var( --e-global-typography-pph1int-font-weight );line-height:var( --e-global-typography-pph1int-line-height );}.elementor-kit-6 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-pph2sec-font-family ), Sans-serif;font-size:var( --e-global-typography-pph2sec-font-size );font-weight:var( --e-global-typography-pph2sec-font-weight );line-height:var( --e-global-typography-pph2sec-line-height );}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-pph3crd-font-family ), Sans-serif;font-size:var( --e-global-typography-pph3crd-font-size );font-weight:var( --e-global-typography-pph3crd-font-weight );line-height:var( --e-global-typography-pph3crd-line-height );}.elementor-kit-6 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-6 label{color:var( --e-global-color-text );font-family:var( --e-global-typography-pptxtpe-font-family ), Sans-serif;font-size:var( --e-global-typography-pptxtpe-font-size );font-weight:var( --e-global-typography-pptxtpe-font-weight );line-height:var( --e-global-typography-pptxtpe-line-height );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:var( --e-global-typography-pptexte-font-family ), Sans-serif;font-size:var( --e-global-typography-pptexte-font-size );font-weight:var( --e-global-typography-pptexte-font-weight );line-height:var( --e-global-typography-pptexte-line-height );color:var( --e-global-color-text );background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-ppink02 );border-radius:8px 8px 8px 8px;padding:12px 16px 12px 16px;}.elementor-kit-6 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea:focus,.elementor-kit-6 .elementor-field-textual:focus{border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-text-font-size:16px;--e-global-typography-pph1hom-font-size:44px;--e-global-typography-pph1int-font-size:40px;--e-global-typography-pph2sec-font-size:34px;--e-global-typography-pph2fic-font-size:26px;--e-global-typography-pph3crd-font-size:20px;--e-global-typography-ppchapo-font-size:18px;--e-global-typography-pptexte-font-size:16px;--e-global-typography-pptxtpe-font-size:14px;--e-global-typography-ppeyebr-font-size:13px;--e-global-typography-ppbouto-font-size:16px;font-size:var( --e-global-typography-pptexte-font-size );line-height:var( --e-global-typography-pptexte-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-pph1int-font-size );line-height:var( --e-global-typography-pph1int-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-pph2sec-font-size );line-height:var( --e-global-typography-pph2sec-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-pph3crd-font-size );line-height:var( --e-global-typography-pph3crd-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-ppbouto-font-size );line-height:var( --e-global-typography-ppbouto-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-pptxtpe-font-size );line-height:var( --e-global-typography-pptxtpe-line-height );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-pptexte-font-size );line-height:var( --e-global-typography-pptexte-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-text-font-size:16px;--e-global-typography-pph1hom-font-size:34px;--e-global-typography-pph1int-font-size:30px;--e-global-typography-pph2sec-font-size:28px;--e-global-typography-pph2fic-font-size:22px;--e-global-typography-pph3crd-font-size:18px;--e-global-typography-ppchapo-font-size:17px;--e-global-typography-pptexte-font-size:16px;--e-global-typography-pptxtpe-font-size:14px;--e-global-typography-ppeyebr-font-size:12px;--e-global-typography-ppbouto-font-size:16px;font-size:var( --e-global-typography-pptexte-font-size );line-height:var( --e-global-typography-pptexte-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-pph1int-font-size );line-height:var( --e-global-typography-pph1int-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-pph2sec-font-size );line-height:var( --e-global-typography-pph2sec-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-pph3crd-font-size );line-height:var( --e-global-typography-pph3crd-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-ppbouto-font-size );line-height:var( --e-global-typography-ppbouto-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-pptxtpe-font-size );line-height:var( --e-global-typography-pptxtpe-line-height );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-pptexte-font-size );line-height:var( --e-global-typography-pptexte-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   PRO’PULSE FORMATION — CSS GLOBAL DE PRODUCTION (V2.5)
   À coller dans : Elementor › Réglages du site › CSS personnalisé.

   Principes
   - Ce fichier ne contient QUE ce qu’Elementor ne sait pas faire nativement.
     Couleurs, polices, typographies, boutons, espacements, rayons, ombres,
     visibilité par appareil, conteneurs liens, positions fixes : Site Settings
     et réglages des widgets (voir le dossier de transmission).
   - Aucun sélecteur d’élément nu (ul, li, h1, p, img, input…), aucun reset,
     aucune règle sur body ou sur * : toutes les règles sont portées par une
     classe « pp- » ajoutée volontairement dans Avancé › Classes CSS.
   - Exceptions documentées : 2 règles globales sans effet de bord
     (décalage des ancres sous l’en-tête collant, contour de focus visible).
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Jetons (miroir des Couleurs globales personnalisées d’Elementor, dont
      les identifiants CSS sont aléatoires). À tenir synchronisés.
   -------------------------------------------------------------------------- */
:root {
	--pp-rose: var(--e-global-color-primary, #D1205C);
	--pp-vert: var(--e-global-color-secondary, #70B732);
	--pp-ink: var(--e-global-color-text, #252525);
	--pp-vert-deep: var(--e-global-color-accent, #3A7320);
	--pp-rose-strong: #B81A50;
	--pp-ink-2: #5C5660;
	--pp-line: #E8E3E6;
	--pp-surface: #F7F4F5;
	--pp-rose-pale: #FBEFF3;
	--pp-vert-pale: #F0F7E9;
	--pp-night: #1F1D21;
	--pp-fil: linear-gradient(90deg, #70B732 0%, #A9A23A 38%, #C9604F 66%, #D1205C 100%);
	--pp-header-h: 80px;
}

/* --------------------------------------------------------------------------
   1. Exceptions globales (sans effet sur la mise en page)
   -------------------------------------------------------------------------- */
/* Les ancres (sommaire de fiche, Qualité) ne passent pas sous l’en-tête collant. */
html { scroll-padding-top: calc(var(--pp-header-h) + 24px); }
@media (max-width: 1024px) { :root { --pp-header-h: 72px; } }
@media (max-width: 767px)  { :root { --pp-header-h: 64px; } }

/* Contour de focus clavier visible et contrasté (contenu Elementor uniquement). */
.elementor :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--pp-rose);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   2. C01 Sur-titre — widget Titre + classe pp-eyebrow
   -------------------------------------------------------------------------- */
.pp-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.pp-eyebrow .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 22px;
	height: 6px;
	border-radius: 6px;
	background: var(--pp-fil);
}

/* --------------------------------------------------------------------------
   3. Le fil — filets dégradés (conteneurs)
   pp-fil-top : bande sombre, footer · pp-fil-bottom : bandeau de titre
   -------------------------------------------------------------------------- */
.pp-fil-top, .pp-fil-bottom { position: relative; }
.pp-fil-top::before,
.pp-fil-bottom::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--pp-fil);
	pointer-events: none;
}
.pp-fil-top::before { top: 0; }
.pp-fil-bottom::after { bottom: 0; height: 3px; opacity: .7; }

/* --------------------------------------------------------------------------
   4. Listes à losanges — sur un widget Éditeur de texte (y compris les champs
      ACF « wysiwyg ») : classes pp-dia (vert) ou pp-dia pp-dia-rose.
      Les autres listes du site ne sont pas modifiées.
   -------------------------------------------------------------------------- */
.pp-dia ul {
	list-style: none;
	margin: 0 0 1em;
	padding: 0;
}
.pp-dia ul li {
	position: relative;
	margin: 0 0 .55em;
	padding-left: 1.45em;
}
.pp-dia ul li::before {
	content: "";
	position: absolute;
	left: .1em;
	top: .62em;
	width: .56em;
	height: .56em;
	border-radius: 1.5px;
	transform: rotate(45deg);
	background: var(--pp-vert);
}
.pp-dia.pp-dia-rose ul li::before { background: var(--pp-rose); }

/* --------------------------------------------------------------------------
   5. C07 Étapes — conteneur pp-steps (grille), chaque étape pp-step,
      numéro = widget Titre pp-step-num (cercle réglé nativement).
      Seule la ligne de liaison dégradée nécessite du CSS.
   -------------------------------------------------------------------------- */
.pp-steps { position: relative; }
.pp-steps::before {
	content: "";
	position: absolute;
	left: 28px;
	right: 28px;
	top: 27px;
	height: 3px;
	border-radius: 3px;
	background: var(--pp-fil);
	opacity: .55;
	pointer-events: none;
}
.pp-step { position: relative; z-index: 1; }
@media (max-width: 1024px) {
	.pp-steps::before { display: none; }
}
@media (max-width: 767px) {
	.pp-step:not(:last-child)::after {
		content: "";
		position: absolute;
		left: 27px;
		top: 56px;
		bottom: 0;
		width: 2px;
		background: var(--pp-fil);
		opacity: .5;
	}
}

/* --------------------------------------------------------------------------
   6. C06 Carte formation — variantes portées par les classes de termes
      ajoutées par le mu-plugin (post_class) sur l’élément de boucle.
      Conteneur racine du Loop Item : classe pp-card.
   -------------------------------------------------------------------------- */
.statut_offre-ouverture-prevue .pp-card {
	background-color: var(--pp-rose-pale);
	border-color: #F1C3D3;
	box-shadow: none;
}
.statut_offre-ouverture-prevue .pp-card .elementor-widget-image img { filter: saturate(.6); }
.statut_offre-suspendue .pp-card { opacity: .78; }

/* --------------------------------------------------------------------------
   7. C23 Documents — ligne en attente de validation (classe pp-doc-pending)
   -------------------------------------------------------------------------- */
.pp-doc-pending { pointer-events: none; }
.pp-doc-pending .elementor-heading-title,
.pp-doc-pending .elementor-icon { color: var(--pp-ink-2) !important; }

/* --------------------------------------------------------------------------
   8. C19 Sommaire d’ancres — défilement horizontal sur mobile (pp-scroll-x)
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.pp-scroll-x,
	.pp-scroll-x > .e-con-inner {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.pp-scroll-x::-webkit-scrollbar { display: none; }
	.pp-scroll-x .elementor-widget { flex: none; }
}

/* --------------------------------------------------------------------------
   9. C24 Organigramme — traits de liaison (conteneur pp-org-row, enfants pp-org-item)
   -------------------------------------------------------------------------- */
.pp-org-row { position: relative; }
.pp-org-row::before {
	content: "";
	position: absolute;
	top: 0;
	left: 12.5%;
	right: 12.5%;
	height: 2px;
	background: var(--pp-line);
}
.pp-org-item { position: relative; }
.pp-org-item::before {
	content: "";
	position: absolute;
	top: -28px;
	left: 50%;
	width: 2px;
	height: 28px;
	background: var(--pp-line);
}
@media (max-width: 1024px) {
	.pp-org-row::before,
	.pp-org-item::before { display: none; }
}

/* --------------------------------------------------------------------------
   10. G06 Barre d’action mobile (option) — conteneur pp-mbar positionné en
       « Fixe » nativement. Amélioration progressive : masquée pendant la
       saisie dans les navigateurs compatibles ; elle reste exclue des pages
       à formulaire par les conditions d’affichage (garantie principale).
   -------------------------------------------------------------------------- */
.pp-mbar { padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important; }
@supports .elementor-kit-6(:has(*)) {
	body:has(:is(input, textarea, select):focus) .pp-mbar { display: none !important; }
}

/* --------------------------------------------------------------------------
   11. Titres équilibrés (amélioration, sans effet si non supportée)
   -------------------------------------------------------------------------- */
.pp-balance .elementor-heading-title { text-wrap: balance; }

/* --------------------------------------------------------------------------
   12. Mouvement réduit : neutralise les seules transitions du kit
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.pp-card, .pp-card * { transition: none !important; }
}

/* --------------------------------------------------------------------------
   13. Composants visuels de la maquette (V2.5)
   Décor (symbole du logo), emplacements photo, cartes liens, encarts flottants.
   -------------------------------------------------------------------------- */
:root {
	--pp-loop: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 220'><defs><linearGradient id='g' x1='0' x2='1'><stop offset='0' stop-color='%2370B732'/><stop offset='.38' stop-color='%23A9A23A'/><stop offset='.66' stop-color='%23C9604F'/><stop offset='1' stop-color='%23D1205C'/></linearGradient></defs><path d='M250 110C205 40 150 18 100 22 48 26 18 64 20 110c2 48 38 86 96 86 54 0 92-38 134-86s82-86 134-86c58 0 94 38 96 86 2 46-28 84-80 88-50 4-105-18-150-88' fill='none' stroke='url(%23g)' stroke-width='5' stroke-linecap='round'/></svg>");
	--pp-loop-white: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 220'><defs><linearGradient id='g' x1='0' x2='1'><stop offset='0' stop-color='%2370B732'/><stop offset='.38' stop-color='%23A9A23A'/><stop offset='.66' stop-color='%23C9604F'/><stop offset='1' stop-color='%23D1205C'/></linearGradient></defs><path d='M250 110C205 40 150 18 100 22 48 26 18 64 20 110c2 48 38 86 96 86 54 0 92-38 134-86s82-86 134-86c58 0 94 38 96 86 2 46-28 84-80 88-50 4-105-18-150-88' fill='none' stroke='%23FFFFFF' stroke-width='5' stroke-linecap='round'/></svg>");
	--pp-shadow: 0 1px 2px rgba(31,29,33,.06), 0 10px 28px rgba(31,29,33,.07);
	--pp-shadow-hover: 0 2px 4px rgba(31,29,33,.06), 0 16px 40px rgba(31,29,33,.11);
}

/* 13.1 Emplacement photo (à remplacer par une vraie photo : image de fond du conteneur) */
.pp-ph {
	position: relative; overflow: hidden; isolation: isolate;
	background-color: #F3E4EA;
	background-image: radial-gradient(120% 90% at 15% 0%, rgba(255,255,255,.85) 0, rgba(255,255,255,0) 55%),
		linear-gradient(140deg, #E2F0D3 0%, #F6E6EC 60%, #F3D3DF 100%);
}
.pp-ph.pp-ph-g { background-image: radial-gradient(120% 90% at 80% 0%, rgba(255,255,255,.8) 0, rgba(255,255,255,0) 55%), linear-gradient(160deg, #EAF4DF 0%, #D9EBC6 100%); }
.pp-ph.pp-ph-r { background-image: radial-gradient(120% 90% at 20% 0%, rgba(255,255,255,.8) 0, rgba(255,255,255,0) 55%), linear-gradient(160deg, #FBEAF0 0%, #F4D2DE 100%); }
.pp-ph.pp-ph-n { background-image: radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,.85) 0, rgba(255,255,255,0) 60%), linear-gradient(160deg, #F3EFF1 0%, #E4DEE2 100%); }
.pp-ph::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5; pointer-events: none;
	background: repeating-linear-gradient(135deg, rgba(255,255,255,.35) 0 2px, transparent 2px 14px);
}
.pp-ph-cap { align-self: flex-start; }
.pp-ph-cap p {
	display: inline-flex; margin: 0; padding: 6px 10px; border-radius: 10px;
	background: rgba(255,255,255,.85); color: #4A4450; font-size: 12px; line-height: 1.4; font-weight: 500;
}

/* 13.2 Décor : symbole du logo */
.pp-loop, .pp-loop-right, .pp-loop-cta { position: relative; }
.pp-loop::after, .pp-loop-right::before, .pp-loop-cta::after {
	content: ""; position: absolute; pointer-events: none; z-index: 2; height: auto; bottom: auto;
	background: var(--pp-loop) center / contain no-repeat; aspect-ratio: 500 / 220;
}
.pp-loop::after { left: -60px; top: -30px; width: 250px; }
.pp-loop-right { overflow: hidden; }
.pp-loop-right::before { left: auto; right: -60px; top: -40px; width: 420px; opacity: .35; z-index: 0; }
.pp-loop-right > * { position: relative; z-index: 1; }
.pp-loop-cta { overflow: hidden; }
.pp-loop-cta::after { background-image: var(--pp-loop-white); right: -40px; top: -30px; width: 420px; opacity: .28; z-index: 0; }
.pp-loop-cta > * { position: relative; z-index: 1; }
@media (max-width: 767px) {
	.pp-loop::after { width: 150px; left: -30px; top: -18px; }
	.pp-loop-right::before { width: 260px; right: -90px; top: -50px; }
}

/* 13.3 Visuel du haut de l’accueil : panneau rose décalé + encarts flottants */
.pp-hero-media { position: relative; }
.pp-hero-media::before {
	content: ""; position: absolute; right: 0; top: 0; bottom: 56px; left: 56px; width: auto; height: auto;
	border-radius: 28px; background: var(--pp-rose-pale);
}
.pp-hero-media > .pp-ph { z-index: 1; }
.pp-float { position: absolute !important; z-index: 3; box-shadow: var(--pp-shadow-hover); }
.pp-float-1 { left: -28px; bottom: 44px; }
.pp-float-2 { right: -8px; bottom: 150px; }
@media (max-width: 767px) {
	.pp-hero-media::before { left: 28px; bottom: 28px; }
	.pp-float-1 { left: -4px; bottom: -22px; }
	.pp-float-2 { display: none !important; }
}

/* 13.4 Cartes liens assemblées (profils, domaines) */
.pp-linkcards { overflow: hidden; }
.pp-linkcards > .e-con + .e-con { border-left: 1px solid var(--pp-line); }
.pp-linkcards.pp-shadow { box-shadow: var(--pp-shadow-hover); }
.pp-linkcards > .e-con { transition: background-color .2s; }
.pp-linkcards > .e-con:hover { background-color: var(--pp-surface); }
@media (max-width: 1024px) {
	.pp-linkcards > .e-con:nth-child(odd) { border-left: 0; }
	.pp-linkcards > .e-con:nth-child(n+3) { border-top: 1px solid var(--pp-line); }
}
@media (max-width: 767px) {
	.pp-linkcards > .e-con + .e-con { border-left: 0; border-top: 1px solid var(--pp-line); }
}

/* 13.5 Ombre de carte et tampon */
.pp-shadow { box-shadow: var(--pp-shadow); }
.pp-media-stamp { position: relative; }
.pp-stamp { position: absolute !important; right: -16px; bottom: 28px; z-index: 3; box-shadow: var(--pp-shadow-hover); }
@media (max-width: 767px) { .pp-stamp { right: 12px; bottom: 12px; } }

/* 13.6 Puces losange en ligne (faits clés) */
.pp-dia.pp-dia-inline ul { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.pp-dia.pp-dia-inline ul li:nth-child(2)::before { background: var(--pp-rose); }

/* 13.7 Carte formation : zone image */
.pp-card-media { aspect-ratio: 16 / 10; }
.pp-card-media .elementor-widget-theme-post-featured-image { position: absolute; inset: 0; }
.pp-card-media .elementor-widget-theme-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.pp-card { transition: box-shadow .2s, transform .2s; }
.pp-card:hover { box-shadow: var(--pp-shadow-hover) !important; transform: translateY(-3px); }
.pp-dia.pp-dia-inline ul { margin: 0; }
.pp-dia.pp-dia-inline ul li { margin: 0; }

/* 13.8 Titre masqué visuellement (lu par les lecteurs d’écran) */
.pp-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; margin: 0 !important; padding: 0 !important; }

/* 13.9 Titre précédé d’un losange (principes qualité) */
.pp-dia-h .elementor-heading-title { display: flex; align-items: center; gap: 10px; }
.pp-dia-h .elementor-heading-title::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 1.5px; transform: rotate(45deg); background: var(--pp-vert); }

/* 13.10 Mention encadrée (filet vert à gauche) */
.pp-mention { border-left: 3px solid var(--pp-vert); padding-left: 14px; }

/* 13.11 Frise d’étapes : numéro (le dernier en rose) */
.pp-step-num .elementor-heading-title { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 2px solid var(--pp-ink); }
.pp-step:last-child .pp-step-num .elementor-heading-title { background: var(--pp-rose); border-color: var(--pp-rose); color: #fff !important; }
.pp-float { max-width: min(300px, calc(100% - 16px)); }
.pp-stamp { max-width: calc(100% - 24px); }
@media (max-width: 1024px) {
	.pp-float-2 { right: 12px; }
	.pp-stamp { right: 12px; }
}/* End custom CSS */