.elementor-kit-8{--e-global-color-primary:#6F1C6A;--e-global-color-secondary:#FF4D00;--e-global-color-text:#1B1226;--e-global-color-accent:#A33098;--e-global-color-ipbforcl:#FF9A02;--e-global-color-ipbflav:#F8B6F8;--e-global-color-ipbffond:#FAF5EF;--e-global-color-ipbfnoir:#3A0E37;--e-global-color-ipbfblanc:#FFFFFF;--e-global-color-ipbftexv:#7A2475;--e-global-color-ipbfoact:#CC3A00;--e-global-color-ipbfotxt:#B83A00;--e-global-color-ipbftxt:#2A1F2D;--e-global-color-ipbftxt2:#5B4F66;--e-global-color-ipbfpdeep:#4E1249;--e-global-color-ipbfsurp:#EADCE8;--e-global-color-ipbfp10:#F1E8F0;--e-global-typography-primary-font-family:"Anton";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Lato";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-ipbfh1-font-family:"Anton";--e-global-typography-ipbfh1-font-size:68px;--e-global-typography-ipbfh1-font-weight:400;--e-global-typography-ipbfh1-line-height:1.15em;--e-global-typography-ipbfh2-font-family:"Anton";--e-global-typography-ipbfh2-font-size:48px;--e-global-typography-ipbfh2-font-weight:400;--e-global-typography-ipbfh2-line-height:1.15em;--e-global-typography-ipbfh3-font-family:"Anton";--e-global-typography-ipbfh3-font-size:22px;--e-global-typography-ipbfh3-font-weight:400;--e-global-typography-ipbfh3-line-height:1.2em;--e-global-typography-ipbfchif-font-family:"Anton";--e-global-typography-ipbfchif-font-size:48px;--e-global-typography-ipbfchif-font-weight:400;--e-global-typography-ipbfchif-line-height:1.05em;--e-global-typography-ipbflead-font-family:"Lato";--e-global-typography-ipbflead-font-size:18px;--e-global-typography-ipbflead-font-weight:400;--e-global-typography-ipbflead-line-height:1.5em;--e-global-typography-ipbfsur-font-family:"Lato";--e-global-typography-ipbfsur-font-size:14px;--e-global-typography-ipbfsur-font-weight:400;--e-global-typography-ipbfsur-text-transform:uppercase;background-color:#FFFFFF;color:#2A1F2D;font-family:"Lato", Sans-serif;font-size:16px;line-height:1.65em;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:#6F1C6A;font-family:"Lato", Sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;color:#FFFFFF;box-shadow:3px 3px 0px 0px #1B1226;border-style:solid;border-width:1px 1px 1px 1px;border-color:#1B1226;border-radius:10px 10px 10px 10px;padding:17px 24px 17px 24px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:#3A0E37;color:#FFFFFF;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#6F1C6A;}.elementor-kit-8 a:hover{color:#3A0E37;}.elementor-kit-8 h1{color:#3A0E37;font-family:"Anton", Sans-serif;font-size:68px;font-weight:400;line-height:1.04em;}.elementor-kit-8 h2{color:#3A0E37;font-family:"Anton", Sans-serif;font-size:44px;font-weight:400;line-height:1.08em;}.elementor-kit-8 h3{color:#2A1F2D;font-family:"Outfit", Sans-serif;font-size:24px;font-weight:600;line-height:1.3em;}.elementor-kit-8 h4{color:#2A1F2D;font-family:"Outfit", Sans-serif;font-size:21px;font-weight:600;line-height:1.3em;}.elementor-kit-8 h5{color:#2A1F2D;font-family:"Outfit", Sans-serif;font-size:18px;font-weight:600;line-height:1.3em;}.elementor-kit-8 h6{color:#2A1F2D;font-family:"Outfit", Sans-serif;font-size:16px;font-weight:600;line-height:1.3em;}.elementor-kit-8 input:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea,.elementor-kit-8 .elementor-field-textual{border-style:solid;border-width:1px 1px 1px 1px;border-color:#1B1226;border-radius:10px 10px 10px 10px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --ipbf-violet-fonce:#6F1C6A; --ipbf-orange-vif:#FF4D00; --ipbf-violet:#A33098; --ipbf-orange-clair:#FF9A02; --ipbf-lavande:#F8B6F8; --ipbf-encre:#1B1226; --ipbf-noir:#000000; --ipbf-blanc:#FFFFFF; --ipbf-fond-clair:#FAF5EF; --ipbf-texture-violet:#731D6E; --ipbf-texture-orange:#FF5912; --ipbf-blanc-attenue:#EADCE8; --ipbf-font-titre:Anton; --ipbf-font-texte:Lato; --ipbf-font-accent:Outfit; --ipbf-font-titre-alt:Paytone One; --ipbf-fs-h1:clamp(40px, 1.2rem + 3.4vw, 64px); --ipbf-fs-h2:clamp(34px, 1.6rem + 1.8vw, 52px); --ipbf-fs-h3:21px; --ipbf-fs-chiffre:clamp(44px, 1.9rem + 1.6vw, 60px); --ipbf-fs-lead:clamp(18px, 1rem + 0.35vw, 20px); --ipbf-fs-body:17px; --ipbf-fs-label:15px; --ipbf-radius-s:10px; --ipbf-radius-m:16px; --ipbf-radius-l:16px; --ipbf-container:1440px; --ipbf-gutter:clamp(20px, 5.6vw, 80px); --ipbf-gap:24px; --ipbf-section-y:clamp(56px, 6vw, 88px); --ipbf-prune-900:#3A0E37; --ipbf-prune-profond:#4E1249; --ipbf-prune-10:#F1E8F0; --ipbf-orange-action:#CC3A00; --ipbf-orange-action-survol:#B33300; --ipbf-orange-texte:#B83A00; --ipbf-orange-10:#FFEDE6; --ipbf-orange-clair-10:#FFF5E6; --ipbf-orange-clair-60:#FFC267; --ipbf-violet-10:#F6EAF5; --ipbf-lavande-30:#FDE9FD; --ipbf-texte:#2A1F2D; --ipbf-texte-2:#5B4F66; --ipbf-sur-prune:#EADCE8; --ipbf-ligne:rgba(27,18,38,0.13); --ipbf-ligne-prune:rgba(255,255,255,0.2); }
/* Start custom CSS *//* =====================================================================
   IPBF — système graphique révisé — 22/10/2026
   Fonds blanc, papier #FAF5EF et prune #6F1C6A ; orange réservé aux
   accents et aux boutons de don (#CC3A00, texte blanc 5:1).
   Contrastes vérifiés WCAG 2.1 AA et APCA.
   ===================================================================== */
.elementor-kit-8 {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.elementor-kit-8 :focus-visible {
	outline: 3px solid #6F1C6A;
	outline-offset: 3px;
}
.elementor-kit-8 :is(.ipbf-fond-violet-fonce, .elementor-location-footer) :focus-visible {
	outline-color: #F8B6F8;
}

/* En-tête collant, pleine largeur */
.elementor-kit-8 .elementor-location-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}
@media (max-width: 600px) {
	.elementor-kit-8 .elementor-location-header { top: 0; }
}

/* Liens sur fond prune : le survol garde la couleur du fond */
.elementor-kit-8 .ipbf-fond-violet-fonce a:not(.ipbf-btn):not(.ipbf-lien-fleche):is(:hover, :focus-visible) {
	color: inherit;
}

/* Liens portés par un paragraphe ou un titre V4 (<p><a class="e-paragraph-link-base">) — 22/10/2026
   Le lien suit la couleur de son bloc, au repos comme au survol et au focus.
   Sans cette règle, le survol global des liens du kit (#3A0E37) s'applique au <a>
   et ignore le survol prévu sur le bloc : prune sur prune dans le pied de page (1,16:1). */
.elementor-kit-8 :is(.e-paragraph-link-base, .e-heading-link-base):is(:hover, :focus-visible) {
	color: inherit;
}

/* Liens dans un texte posé sur prune (pied de page, sections et cartes prune) : jamais prune sur prune */
.elementor-kit-8 :is(.ipbf-fond-violet-fonce, .elementor-location-footer) :is(.e-paragraph-base, .e-heading-base) a:not(.e-paragraph-link-base):not(.e-heading-link-base) {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.elementor-kit-8 :is(.ipbf-fond-violet-fonce, .elementor-location-footer) :is(.e-paragraph-base, .e-heading-base) a:not(.e-paragraph-link-base):not(.e-heading-link-base):is(:hover, :focus-visible) {
	color: #FFFFFF;
}

/* Pied de page : zone cliquable des liens portée à 26 px de haut sans changer la mise en page (WCAG 2.5.8) */
.elementor-kit-8 .elementor-location-footer .e-paragraph-link-base {
	position: relative;
}
.elementor-kit-8 .elementor-location-footer .e-paragraph-link-base::after {
	content: "";
	position: absolute;
	inset: -4px -6px;
}

/* Lien avec flèche : largeur de son contenu — 22/10/2026
   Bloc lien V4 (.e-con) = width: 100 % par défaut : dans une rangée (titre + lien, deux liens côte à côte),
   il passait seul à la ligne (ex. « Toutes les actualités » sous le titre au lieu d'être à droite). */
.elementor-kit-8 .ipbf-lien-fleche {
	width: auto;
}

/* Lien avec flèche : la flèche glisse au survol */
.elementor-kit-8 a.ipbf-lien-fleche:is(:hover, :focus-visible) .ipbf-boite-fleche {
	transform: translateX(3px);
}

/* Un seul liseré : un visuel posé dans une carte perd contour et ombre */
.elementor-kit-8 .ipbf-carte .ipbf-media {
	border-width: 0;
	box-shadow: none;
	border-radius: 0;
}

/* Cartes cliquables (listes d'articles et de programmes) */
.elementor-kit-8 .ipbf-carte-lien {
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.elementor-kit-8 .ipbf-carte-lien:hover {
	border-color: #1B1226;
	box-shadow: 4px 4px 0 #1B1226;
	transform: translate(-2px, -2px);
}

@media (prefers-reduced-motion: reduce) {
	.elementor-kit-8 * { transition: none !important; }
}
/* Formulaires : cases à cocher et boutons radio d'au moins 24 px (WCAG 2.5.8) — 22/10/2026 */
.elementor-kit-8 .gform_wrapper input[type="checkbox"], .elementor-kit-8 .gform_wrapper input[type="radio"] {
	width: 24px;
	height: 24px;
}

/* =====================================================================
   Cartes avec visuel : un seul liseré — 22/10/2026
   La carte (ipbf-carte) porte déjà le contour et l'ombre portée ;
   le visuel qu'elle contient (ipbf-media) n'en ajoute pas un second.
   ===================================================================== */
.elementor-kit-8 .ipbf-carte .ipbf-media {
	border-width: 0;
	box-shadow: none;
}

/* =====================================================================
   Formulaires Gravity Forms (thème Orbital) — charte IPBF 2026 — 22/10/2026
   Couleurs de base : filtre gform_default_styles (novamira-sandbox/ipbf-site.php).
   Ici : tailles, typographie, contours, ombres portées et états.
   Le formulaire est posé dans une carte : aucun bloc intérieur ne reprend
   le contour noir + ombre de la carte (un seul liseré).
   ===================================================================== */
.elementor-kit-8 .gform_wrapper.gform-theme {
	--gf-form-gap-y: 24px;
	--gf-form-gap-x: 20px;
	--gf-ctrl-size-lg: 52px;
	--gf-ctrl-padding-x: 16px;
	--gf-ctrl-font-size: 16px;
	--gf-ctrl-textarea-height: 168px;
	--gf-ctrl-textarea-line-height: 1.6;
	--gf-ctrl-textarea-padding-y: 14px;
	--gf-ctrl-shadow: none;
	--gf-ctrl-border-color-hover: #6F1C6A;
	--gf-ctrl-border-color-focus: #6F1C6A;
	--gf-ctrl-border-color-error: #FF4D00;
	--gf-ctrl-choice-size-lg: 24px;
	--gf-ctrl-checkbox-check-size-lg: 13px;
	--gf-ctrl-checkbox-check-radius: 6px;
	--gf-ctrl-choice-check-color: #FFFFFF;
	--gf-label-space-primary: 8px;
	--gf-ctrl-label-font-family-primary: Lato, sans-serif;
	--gf-ctrl-label-font-weight-primary: 700;
	--gf-ctrl-label-line-height-primary: 1.4;
	--gf-ctrl-label-font-family-secondary: Lato, sans-serif;
	--gf-ctrl-label-font-weight-secondary: 400;
	--gf-ctrl-label-font-size-secondary: 15px;
	--gf-ctrl-label-color-req: #B83A00;
	--gf-ctrl-label-font-size-req: 15px;
	--gf-ctrl-label-font-weight-req: 700;
	--gf-ctrl-desc-font-family: Lato, sans-serif;
	--gf-ctrl-desc-line-height: 1.55;
	--gf-ctrl-desc-border-width-consent: 0;
	--gf-ctrl-btn-size-lg: 56px;
	--gf-ctrl-btn-padding-x-lg: 32px;
	--gf-ctrl-btn-font-size-lg: 15px;
	--gf-ctrl-btn-font-family: Lato, sans-serif;
	--gf-ctrl-btn-font-weight: 700;
	--gf-ctrl-btn-letter-spacing: 0.06em;
	--gf-ctrl-btn-line-height: 1.2;
	--gf-ctrl-btn-text-transform: uppercase;
	--gf-ctrl-btn-radius: 10px;
	--gf-ctrl-btn-border-width-primary: 1px;
	--gf-ctrl-btn-border-style-primary: solid;
	--gf-ctrl-btn-border-color-primary: #1B1226;
	--gf-ctrl-btn-border-color-hover-primary: #1B1226;
	--gf-ctrl-btn-border-color-focus-primary: #1B1226;
	--gf-ctrl-btn-bg-color-hover-primary: #3A0E37;
	--gf-ctrl-btn-bg-color-focus-primary: #3A0E37;
	--gf-ctrl-btn-color-hover-primary: #FFFFFF;
	--gf-ctrl-btn-color-focus-primary: #FFFFFF;
	--gf-ctrl-btn-shadow: 3px 3px 0 0 #1B1226;
	--gf-ctrl-btn-shadow-hover: 4px 4px 0 0 #1B1226;
	--gf-ctrl-btn-shadow-focus: 4px 4px 0 0 #1B1226;
	--gf-color-danger: #B83A00;
	--gf-color-danger-rgb: 184, 58, 0;
	--gf-form-validation-bg-color: #FFEDE6;
	--gf-form-validation-border-color: #FF4D00;
	--gf-form-validation-border-width: 1px;
	--gf-form-validation-radius: 10px;
	--gf-form-validation-shadow: none;
	--gf-form-validation-color: #1B1226;
	--gf-form-validation-heading-color: #1B1226;
	--gf-form-validation-heading-font-family: Lato, sans-serif;
	--gf-form-validation-heading-font-weight: 700;
	--gf-form-validation-heading-icon-bg-color: #FF4D00;
	--gf-form-validation-heading-icon-border-color: #FF4D00;
	--gf-form-validation-heading-icon-color: #FFFFFF;
	font-family: Lato, sans-serif;
	color: #1B1226;
}

/* Mention « champs obligatoires » */
.elementor-kit-8 .gform_wrapper.gform-theme .gform_required_legend {
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.5;
	color: #5B4F66;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_required_asterisk {
	color: #B83A00;
}

/* Champs texte, liste et zone de texte */
.elementor-kit-8 .gform_wrapper.gform-theme :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) {
	border: 1px solid #1B1226;
	border-radius: 10px;
	background-color: #FFFFFF;
	color: #1B1226;
	font-family: Lato, sans-serif;
	font-size: 16px;
	box-shadow: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.elementor-kit-8 .gform_wrapper.gform-theme :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea):hover {
	border-color: #6F1C6A;
}
.elementor-kit-8 .gform_wrapper.gform-theme :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea):focus {
	border-color: #6F1C6A;
	box-shadow: 3px 3px 0 0 #6F1C6A;
	outline: 2px solid transparent;
	outline-offset: 2px;
}
.elementor-kit-8 .gform_wrapper.gform-theme :is(input, textarea)::placeholder {
	color: rgba(27, 18, 38, 0.45);
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield textarea {
	block-size: 180px;
	min-block-size: 140px;
	resize: vertical;
}
.elementor-kit-8 .gform_wrapper.gform-theme select,
.elementor-kit-8 .gform_wrapper.gform-theme select:focus {
	padding-inline-end: 48px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%236F1C6A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 14px 9px;
	cursor: pointer;
}

/* Champ en erreur */
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_error :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
	border-color: #FF4D00;
	box-shadow: 3px 3px 0 0 #FF4D00;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_validation_message {
	margin-top: 10px;
	font-size: 14px;
	font-weight: 700;
	color: #B83A00;
	background: none;
	border: 0;
	padding: 0;
}

/* Case à cocher (consentement) : case de la charte, violet foncé une fois cochée */
.elementor-kit-8 .gform_wrapper.gform-theme :is(input[type="checkbox"], input[type="radio"]) {
	border: 1px solid #1B1226;
	border-radius: 6px;
	background-color: #FFFFFF;
	box-shadow: 2px 2px 0 0 #1B1226;
	cursor: pointer;
	transition: background-color 0.15s, box-shadow 0.15s;
}
.elementor-kit-8 .gform_wrapper.gform-theme input[type="radio"] {
	border-radius: 50%;
}
.elementor-kit-8 .gform_wrapper.gform-theme :is(input[type="checkbox"], input[type="radio"]):checked {
	background-color: #6F1C6A;
	border-color: #1B1226;
}
.elementor-kit-8 .gform_wrapper.gform-theme :is(input[type="checkbox"], input[type="radio"]):focus-visible {
	box-shadow: 3px 3px 0 0 #6F1C6A;
	outline: 2px solid transparent;
	outline-offset: 2px;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_error :is(input[type="checkbox"], input[type="radio"]) {
	border-color: #FF4D00;
	box-shadow: 2px 2px 0 0 #FF4D00;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_consent_label {
	font-size: 15px;
	line-height: 1.5;
	color: #1B1226;
	cursor: pointer;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_consent_description {
	margin-top: 14px;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_consent_description_text {
	padding: 14px 18px;
	border: 0;
	border-radius: 10px;
	background-color: #F1E8F0;
	font-size: 14px;
	line-height: 1.55;
	color: #4A3F55;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gfield_consent_description_text a {
	color: #6F1C6A;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Bouton d'envoi : même dessin que les boutons ipbf-btn-primaire */
.elementor-kit-8 .gform_wrapper.gform-theme .gform_footer {
	margin-top: 32px;
	padding: 0;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gform_footer .gform_button {
	min-height: 56px;
	padding: 0 28px;
	border: 1.5px solid #1B1226;
	border-radius: 10px;
	background-color: #6F1C6A;
	color: #FFFFFF;
	font-family: Lato, sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	box-shadow: 3px 3px 0 0 #1B1226;
	transition: transform 0.15s, box-shadow 0.15s, background-color 0.15s;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gform_footer .gform_button:is(:hover, :focus-visible) {
	background-color: #3A0E37;
	color: #FFFFFF;
	transform: translate(-1px, -1px);
	box-shadow: 4px 4px 0 0 #1B1226;
}
.elementor-kit-8 .gform_wrapper.gform-theme .gform_footer .gform_button:active {
	transform: translate(1px, 1px);
	box-shadow: 1px 1px 0 0 #1B1226;
}

/* Message de confirmation après envoi (dans la carte : aplat, sans liseré) */
.elementor-kit-8 .gform_confirmation_message {
	position: relative;
	padding: 24px 24px 24px 80px;
	border-radius: 10px;
	background-color: #F1E8F0;
	font-family: Lato, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: #1B1226;
}
.elementor-kit-8 .gform_confirmation_message::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 22px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #6F1C6A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Cpath d='M1.5 7.5 6.5 12 16.5 2' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px 14px no-repeat;
}

/* Boutons de réseaux sociaux (Contact, Ressources, Actualités…) : icône du réseau devant le libellé — 22/10/2026
   Repérés par l'adresse du lien : tout nouveau bouton ipbf-btn vers un réseau reçoit son icône.
   Icônes : uploads/ipbf/ico-*.svg (Instagram et X : Font Awesome Free, CC BY 4.0). */
.elementor-kit-8 a.ipbf-btn:is([href*="facebook.com"], [href*="instagram.com"], [href*="twitter.com"], [href*="//x.com"], [href*="www.x.com"], [href*="linkedin.com"], [href*="youtube.com"])::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-inline-end: 10px;
	background-color: currentColor;
	-webkit-mask: var(--ipbf-ico) center / contain no-repeat;
	mask: var(--ipbf-ico) center / contain no-repeat;
}
.elementor-kit-8 a.ipbf-btn[href*="facebook.com"] { --ipbf-ico: url("/wp-content/uploads/ipbf/ico-facebook.svg"); }
.elementor-kit-8 a.ipbf-btn[href*="instagram.com"] { --ipbf-ico: url("/wp-content/uploads/ipbf/ico-instagram.svg"); }
.elementor-kit-8 a.ipbf-btn:is([href*="twitter.com"], [href*="//x.com"], [href*="www.x.com"]) { --ipbf-ico: url("/wp-content/uploads/ipbf/ico-x.svg"); }
.elementor-kit-8 a.ipbf-btn[href*="linkedin.com"] { --ipbf-ico: url("/wp-content/uploads/ipbf/ico-linkedin.svg"); }
.elementor-kit-8 a.ipbf-btn[href*="youtube.com"] { --ipbf-ico: url("/wp-content/uploads/ipbf/ico-youtube.svg"); }
/* Mobile : quand les boutons sociaux passent à la ligne, ils remplissent la ligne (même largeur) ; les boutons sociaux remplissent aussi une ligne commune */
@media (max-width: 767px) {
	.elementor-kit-8 a.ipbf-btn:is([href*="facebook.com"], [href*="instagram.com"], [href*="twitter.com"], [href*="//x.com"], [href*="www.x.com"], [href*="linkedin.com"], [href*="youtube.com"]) {
		flex: 1 1 auto;
	}
}

/* Grilles de boucles : hauteur de rangée naturelle (Elementor impose 1fr à toutes les rangées) */
body .elementor .e-collection-loop-layout-base { grid-auto-rows: auto; }/* End custom CSS */