/* Reprise du composant .btn-default de Visen. */
.acpf-theme-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	font-weight: 600;
	line-height: 1em;
	text-transform: none;
	background: var(--acpf-button-base) !important;
	color: #fff !important;
	border-radius: 100px !important;
	padding: 5px 5px 5px 24px !important;
	border: none;
	overflow: hidden;
	box-shadow: none;
	outline: none;
	transition: all .4s ease-in-out;
	z-index: 0;
}

.acpf-theme-button::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 0;
	height: 100%;
	background: var(--acpf-button-hover);
	z-index: -1;
	transition: all .4s ease-in-out;
}

.acpf-theme-button:hover::before,
.acpf-theme-button:focus-visible::before {
	right: auto;
	left: 0;
	width: 100%;
}

.acpf-theme-button .elementor-button-content-wrapper {
	align-items: center;
	position: relative;
	z-index: 1;
}

.acpf-theme-button .acpf-theme-button-arrow {
	width: 40px;
	height: 40px;
	padding: 10px;
	box-sizing: border-box;
	color: #fff;
	background-color: var(--acpf-button-hover);
	border-radius: 50%;
	margin-left: 7px;
	transition: all .4s ease-in-out;
	position: relative;
	z-index: 1;
}

.acpf-theme-button:hover .acpf-theme-button-arrow,
.acpf-theme-button:focus-visible .acpf-theme-button-arrow {
	color: var(--acpf-button-hover);
	background-color: #fff;
}

@media only screen and (max-width: 991px) {
	.acpf-theme-button {
		padding: 5px 5px 5px 15px !important;
	}

	.acpf-theme-button .acpf-theme-button-arrow {
		width: 36px;
		height: 36px;
		padding: 9px;
	}
}

/* Décor éditorial inspiré des publications ACPF. */
.acpf-decor {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.acpf-decor > * {
	position: relative;
	z-index: 2;
}

.acpf-decor::before,
.acpf-decor::after {
	content: "";
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.acpf-decor--hero::before {
	background: #c9e8f5;
	border-radius: 38% 62% 70% 30% / 45% 38% 62% 55%;
	height: 250px;
	left: -115px;
	top: -125px;
	transform: rotate(-16deg);
	width: 310px;
}

.acpf-decor--hero::after {
	background-image: radial-gradient(circle, #f58220 2px, transparent 2.5px);
	background-size: 14px 14px;
	height: 92px;
	top: 32px;
	right: 3.5%;
	transform: rotate(8deg);
	width: 92px;
}

.acpf-decor--hero-2::before {
	background: #ffe7cc;
	border-radius: 70% 30% 42% 58% / 44% 64% 36% 56%;
	left: auto;
	right: -145px;
	top: -145px;
}

.acpf-decor--hero-2::after {
	left: 4%;
	right: auto;
}

.acpf-decor--hero-3::before {
	background: #ddf3e4;
	height: 220px;
	left: -100px;
	top: auto;
	bottom: -130px;
	width: 280px;
}

.acpf-decor--hero-3::after {
	background-image: radial-gradient(circle, #3561a3 2px, transparent 2.5px);
}

.acpf-decor--cards::before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cg fill='%23f58220'%3E%3Cellipse cx='80' cy='28' rx='16' ry='40'/%3E%3Cellipse cx='80' cy='132' rx='16' ry='40'/%3E%3Cellipse cx='28' cy='80' rx='40' ry='16'/%3E%3Cellipse cx='132' cy='80' rx='40' ry='16'/%3E%3Cellipse cx='43' cy='43' rx='15' ry='38' transform='rotate(-45 43 43)'/%3E%3Cellipse cx='117' cy='117' rx='15' ry='38' transform='rotate(-45 117 117)'/%3E%3Cellipse cx='117' cy='43' rx='15' ry='38' transform='rotate(45 117 43)'/%3E%3Cellipse cx='43' cy='117' rx='15' ry='38' transform='rotate(45 43 117)'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
	bottom: -64px;
	height: 165px;
	left: -62px;
	top: auto;
	transform: rotate(12deg);
	width: 165px;
}

.acpf-decor--cards::after {
	background-image: radial-gradient(circle, rgba(53,97,163,.48) 2px, transparent 2.5px);
	background-size: 13px 13px;
	height: 105px;
	right: 2.5%;
	top: 35px;
	width: 105px;
}

.acpf-decor--cards-2::before {
	filter: hue-rotate(170deg) saturate(.9);
	left: auto;
	right: -58px;
}

.acpf-decor--cards-2::after {
	left: 3%;
	right: auto;
}

.acpf-decor--cards-3::before {
	bottom: auto;
	top: -72px;
}

.acpf-card-grid .acpf-content-card {
	border: 1px solid rgba(32,55,111,.08);
	box-shadow: 0 14px 34px rgba(32,55,111,.08);
	position: relative;
	transition: transform .3s ease, box-shadow .3s ease;
}

.acpf-card-grid .acpf-content-card::before {
	background: #3561a3;
	border-radius: 999px;
	content: "";
	height: 6px;
	left: 26px;
	position: absolute;
	top: 0;
	width: 54px;
}

.acpf-card-grid .acpf-content-card--2::before { background: #f58220; }
.acpf-card-grid .acpf-content-card--3::before { background: #149447; }
.acpf-card-grid .acpf-content-card:nth-child(even) { transform: translateY(14px); }
.acpf-card-grid .acpf-content-card:hover { box-shadow: 0 18px 42px rgba(32,55,111,.14); transform: translateY(-4px); }

.acpf-decor--accordion::before {
	border: 2px dashed rgba(245,130,32,.45);
	border-radius: 50%;
	height: 150px;
	left: -82px;
	top: 55px;
	width: 150px;
}

.acpf-decor--accordion::after {
	background: #c9e8f5;
	border-radius: 67% 33% 60% 40% / 42% 57% 43% 58%;
	bottom: -110px;
	height: 220px;
	right: -100px;
	transform: rotate(22deg);
	width: 240px;
}

.acpf-decor--callout::before {
	background: #f58220;
	border-radius: 48% 52% 68% 32% / 55% 35% 65% 45%;
	height: 135px;
	left: -82px;
	top: -72px;
	transform: rotate(18deg);
	width: 155px;
}

.acpf-decor--callout::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg stroke='%233561a3' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M50 8v18'/%3E%3Cpath d='M50 74v18'/%3E%3Cpath d='M8 50h18'/%3E%3Cpath d='M74 50h18'/%3E%3Cpath d='M20 20l13 13'/%3E%3Cpath d='M67 67l13 13'/%3E%3Cpath d='M80 20L67 33'/%3E%3Cpath d='M33 67L20 80'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
	height: 72px;
	right: 5%;
	top: 28px;
	width: 72px;
}

.acpf-decor h2.elementor-heading-title::after {
	background: #f58220;
	border-radius: 999px;
	content: "";
	display: block;
	height: 5px;
	margin: 14px auto 0;
	width: 42px;
}

.acpf-decor .elementor-align-left h2.elementor-heading-title::after,
.acpf-decor h2.elementor-heading-title[style*="left"]::after {
	margin-left: 0;
}

@media only screen and (max-width: 767px) {
	.acpf-decor--hero::before { height: 145px; left: -78px; top: -82px; width: 180px; }
	.acpf-decor--hero-2::before { left: auto; right: -90px; }
	.acpf-decor--hero-3::before { bottom: -90px; top: auto; }
	.acpf-decor--hero::after { height: 58px; opacity: .65; width: 58px; }
	.acpf-decor--cards::before { height: 105px; opacity: .42; width: 105px; }
	.acpf-decor--cards::after { display: none; }
	.acpf-card-grid .acpf-content-card:nth-child(even),
	.acpf-card-grid .acpf-content-card:hover { transform: none; }
	.acpf-decor--accordion::before { opacity: .35; }
	.acpf-decor--accordion::after { height: 130px; opacity: .55; width: 150px; }
	.acpf-decor--callout::after { height: 48px; opacity: .55; width: 48px; }
}

/* Prototype graphique 2026 — page Qui sommes-nous. */
.acpf-pilot {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.acpf-pilot > * {
	position: relative;
	z-index: 2;
}

.acpf-pilot::before,
.acpf-pilot::after {
	content: "";
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

/* Blob volontairement ample et nettement visible. */
.acpf-pilot-hero::before {
	background: #f58220;
	border-radius: 36% 64% 68% 32% / 48% 35% 65% 52%;
	height: 430px;
	left: -235px;
	op: -230px;
	transform: rotate(-12deg);
	width: 560px;
}

/* Grande palme bleue, dessin vectoriel intégré au plugin. */
.acpf-pilot-hero::after,
.acpf-pilot-missions::after,
.acpf-pilot-band::after,
.acpf-pilot-history::after,
.acpf-pilot-links::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420'%3E%3Cg fill='%2320376f'%3E%3Cpath d='M205 390c-8-132 0-244 28-342l18 5c-30 102-37 214-26 337z'/%3E%3Cpath d='M236 84C179 42 119 35 48 59c56 12 105 42 166 85z'/%3E%3Cpath d='M226 126C153 95 87 104 25 144c64-2 120 17 190 48z'/%3E%3Cpath d='M219 177C146 162 78 183 25 236c65-16 123-10 188 12z'/%3E%3Cpath d='M217 230C148 231 91 264 51 326c59-29 111-36 169-27z'/%3E%3Cpath d='M241 91c54-50 111-67 180-56-53 22-96 61-156 114z'/%3E%3Cpath d='M235 139c68-42 133-45 198-15-62 8-114 36-187 80z'/%3E%3Cpath d='M229 190c73-27 139-16 198 28-65-5-121 12-194 43z'/%3E%3Cpath d='M225 243c70-11 129 10 179 62-60-18-112-12-178 7z'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
	height: 355px;
	right: -82px;
	bottom: -116px;
	transform: rotate(-14deg);
	width: 355px;
}

.acpf-pilot-missions::before {
	background: #fff0df;
	border-radius: 62% 38% 33% 67% / 42% 58% 42% 58%;
	height: 360px;
	right: -190px;
	top: 35px;
	transform: rotate(16deg);
	width: 430px;
}

.acpf-pilot-missions::after {
	bottom: -130px;
	height: 330px;
	left: -105px;
	right: auto;
	transform: rotate(24deg);
	width: 330px;
}

.acpf-pilot-card-grid .acpf-pilot-card {
	background: #fff !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 16px 36px rgba(32,55,111,.09);
	position: relative;
}

.acpf-pilot-card::before {
	background: #f58220;
	border-radius: 99px;
	content: "";
	height: 6px;
	left: 26px;
	position: absolute;
	top: 0;
	width: 54px;
}

.acpf-pilot-band::before {
	background: #f58220;
	border-radius: 58% 42% 68% 32% / 38% 55% 45% 62%;
	height: 260px;
	left: -145px;
	top: -135px;
	transform: rotate(20deg);
	width: 330px;
}

.acpf-pilot-band::after {
	bottom: -155px;
	filter: brightness(0) invert(1);
	height: 330px;
	opacity: .18;
	right: -65px;
	width: 330px;
}

.acpf-pilot-history::before {
	background: #fff0df;
	border-radius: 32% 68% 57% 43% / 64% 39% 61% 36%;
	height: 410px;
	left: -245px;
	top: -105px;
	transform: rotate(-18deg);
	width: 500px;
}

.acpf-pilot-history::after {
	bottom: -120px;
	right: -90px;
}

.acpf-pilot-links::before {
	background: #f58220;
	border-radius: 66% 34% 50% 50% / 44% 66% 34% 56%;
	height: 390px;
	right: -245px;
	top: -190px;
	transform: rotate(8deg);
	width: 480px;
}

.acpf-pilot-links::after {
	bottom: -145px;
	height: 340px;
	left: -85px;
	right: auto;
	transform: rotate(22deg);
	width: 340px;
}

@media only screen and (max-width: 767px) {
	.acpf-pilot-hero::before { height: 245px; left: -145px; top: -145px; width: 310px; }
	.acpf-pilot-hero::after { bottom: -65px; height: 190px; right: -58px; width: 190px; }
	.acpf-pilot-missions::before { height: 230px; right: -145px; width: 280px; }
	.acpf-pilot-missions::after { bottom: -75px; height: 190px; left: -65px; width: 190px; }
	.acpf-pilot-band::before { height: 190px; left: -120px; top: -105px; width: 245px; }
	.acpf-pilot-band::after { height: 210px; right: -85px; width: 210px; }
	.acpf-pilot-history::before { height: 260px; left: -175px; width: 330px; }
	.acpf-pilot-history::after { height: 200px; right: -75px; width: 200px; }
	.acpf-pilot-links::before { height: 260px; right: -180px; width: 330px; }
	.acpf-pilot-links::after { height: 205px; left: -75px; width: 205px; }
}

/* Version pilote 1.5 — formes SVG fournies, désaturées et tronquées. */
.acpf-pilot::before,
.acpf-pilot::after {
	background-color: transparent;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 0;
	display: none;
	filter: saturate(.68);
	opacity: .29;
}

/* Grande forme bleue organique : environ 55 % restent visibles. */
.acpf-pilot-hero::before {
	background-image: url("decor/forme_bleue_organique_fidele.svg");
	display: block;
	height: 520px;
	left: -305px;
	top: -245px;
	transform: rotate(-9deg);
	width: 540px;
}

/* Fleur organique orange, coupée dans l’angle supérieur droit. */
.acpf-pilot-hero::after {
	background-image: url("decor/01_fleur_orange_organique.svg");
	bottom: auto;
	display: block;
	height: 245px;
	opacity: .27;
	right: -112px;
	top: -105px;
	transform: rotate(14deg);
	width: 245px;
}

/* Une seule forme rayonnante dans la zone des missions. */
.acpf-pilot-missions::before { display: none; }
.acpf-pilot-missions::after {
	background-image: url("decor/04_fleur_bleue_rayonnante.svg");
	bottom: -128px;
	display: block;
	height: 270px;
	left: -126px;
	opacity: .21;
	right: auto;
	transform: rotate(19deg);
	width: 270px;
}

/* Une forme orange discrète sur le bandeau bleu. */
.acpf-pilot-band::before {
	background-image: url("decor/03_fleur_orange_rayonnante.svg");
	display: block;
	height: 260px;
	left: auto;
	opacity: .20;
	right: -118px;
	top: -130px;
	transform: rotate(-8deg);
	width: 260px;
}
.acpf-pilot-band::after { display: none; }

/* Goutte bleue partiellement visible en bas à gauche. */
.acpf-pilot-history::before {
	background-image: url("decor/02_goutte_bleue.svg");
	bottom: -150px;
	display: block;
	height: 310px;
	left: -112px;
	op: auto;
	transform: rotate(31deg);
	width: 265px;
}
.acpf-pilot-history::after,
.acpf-pilot-links::before,
.acpf-pilot-links::after { display: none; }

@media only screen and (max-width: 767px) {
	.acpf-pilot-hero::before { height: 310px; left: -205px; top: -145px; width: 330px; }
	.acpf-pilot-hero::after { height: 145px; right: -72px; top: -58px; width: 145px; }
	.acpf-pilot-missions::after { bottom: -76px; height: 165px; left: -78px; width: 165px; }
	.acpf-pilot-band::before { height: 155px; right: -76px; top: -78px; width: 155px; }
	.acpf-pilot-history::before { bottom: -92px; height: 190px; left: -72px; width: 160px; }
}

/* Conteneur des décorations devenues de vrais widgets Elementor. */
.acpf-editable-decor-section {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.acpf-editable-decor-section > .elementor-element:not(.acpf-decoration-image) {
	position: relative;
	z-index: 2;
}

.acpf-decoration-image {
	pointer-events: none;
	z-index: 1;
}

.elementor-editor-active .acpf-decoration-image {
	pointer-events: auto;
}

/* Exception éditoriale : quelques formes peuvent franchir la section suivante. */
.acpf-editable-decor-section--overlap {
	overflow: visible;
	z-index: 3;
}

.acpf-editable-decor-section--overlap + .acpf-editable-decor-section {
	position: relative;
	z-index: 2;
}
