.ccma-svg-block {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	vertical-align: top;
	max-width: 100%;
	overflow: visible;
	box-sizing: border-box;
}

.ccma-svg-block.ccma-svg-clickable-block {
	cursor: pointer;
}

.ccma-svg-block.ccma-svg-clickable-block:focus {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.ccma-svg-block.ccma-svg-has-label {
	padding-top: 0;
}
.ccma-svg-block .ccma-svg-link-label {
	position: relative;
	z-index: 5;
	display: block;
	width: var(--ccma-svg-label-width, 180px);
	height: 64px;
	margin: 0 0 -2.4em 0;
	overflow: visible;
	pointer-events: none;
	color: var(--ccma-svg-link-label-color, var(--ccma-svg-bg-color, currentColor));
	transform-origin: center bottom;
	will-change: transform;
}

.ccma-svg-block.ccma-svg-clickable-block:hover .ccma-svg-link-label,
.ccma-svg-block.ccma-svg-clickable-block:focus-visible .ccma-svg-link-label {
	animation: ccma-svg-label-hover 520ms ease-out 1;
}

@keyframes ccma-svg-label-hover {
	0% {
		transform: translateY(0);
	}
	20% {
		transform: translateY(-2px);
	}
	45% {
		transform: translateY(1px);
	}
	70% {
		transform: translateY(-1px);
	}
	100% {
		transform: translateY(0);
	}
}

.ccma-svg-block .ccma-svg-link-label-arc {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.ccma-svg-block .ccma-svg-link-label-text {
	fill: currentColor;
	font-family: var(--wp--preset--font-family--sagace, inherit);
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: -0.09em;
	white-space: nowrap;
}

.ccma-svg-block .ccma-svg-link-label-text textPath {
	dominant-baseline: auto;
}

.ccma-svg-block .ccma-svg-inner {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: max-content;
	min-width: var(--ccma-svg-bg-width, calc(var(--ccma-svg-icon-width, 96px) * 1.32));
	min-height: var(--ccma-svg-bg-height, calc(var(--ccma-svg-icon-height, var(--ccma-svg-icon-width, 96px)) * 1.32));
	padding: 10px;
	box-sizing: border-box;
	overflow: visible;
}

.ccma-svg-block:not(.ccma-svg-has-bg) .ccma-svg-inner {
	min-width: auto;
	min-height: auto;
	padding: 0;
}

.ccma-svg-block .ccma-svg-bg-shape {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: grid;
	place-items: center;
	color: var(--ccma-svg-bg-color, transparent);
	pointer-events: none;
}

.ccma-svg-block .ccma-svg-bg-shape svg {
	display: block;
	width: var(--ccma-svg-bg-width, calc(var(--ccma-svg-icon-width, 96px) * 1.32));
	height: var(--ccma-svg-bg-height, calc(var(--ccma-svg-icon-height, var(--ccma-svg-icon-width, 96px)) * 1.32));
	max-width: none;
	max-height: none;
	overflow: visible;
}

.ccma-svg-block .ccma-svg-stage {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: var(--ccma-svg-icon-width, 96px);
	height: var(--ccma-svg-icon-height, var(--ccma-svg-icon-width, 96px));
	line-height: 0;
	color: var(--ccma-svg-line-color, currentColor);
	overflow: visible;
}

.ccma-svg-block .ccma-svg-asset {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	overflow: visible;
}

.ccma-svg-block.ccma-svg-theme-colors .ccma-svg-stage .ccma-svg-asset,
.ccma-svg-block.ccma-svg-theme-colors .ccma-svg-stage .ccma-svg-asset * {
	color: inherit;
}

.ccma-svg-block.ccma-svg-theme-colors .ccma-svg-stage .ccma-svg-asset [fill]:not([fill="none"]) {
	fill: currentColor !important;
}

.ccma-svg-block.ccma-svg-theme-colors .ccma-svg-stage .ccma-svg-asset [stroke]:not([stroke="none"]) {
	stroke: currentColor !important;
}

.ccma-svg-block.ccma-svg-theme-colors .ccma-svg-stage .ccma-svg-asset path:not([fill="none"]) {
	fill: currentColor !important;
}

.ccma-svg-block.ccma-svg-theme-colors .ccma-svg-stage .ccma-svg-asset path[stroke]:not([stroke="none"]) {
	stroke: currentColor !important;
}

.ccma-svg-block .ccma-svg-bg-shape {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: grid;
	place-items: center;
	color: var(--ccma-svg-bg-color, transparent);
	pointer-events: none;
	transform-origin: center center;
	will-change: transform;
}

.ccma-svg-block .ccma-svg-bg-shape svg {
	display: block;
	width: var(--ccma-svg-bg-width, calc(var(--ccma-svg-icon-width, 96px) * 1.32));
	height: var(--ccma-svg-bg-height, calc(var(--ccma-svg-icon-height, var(--ccma-svg-icon-width, 96px)) * 1.32));
	max-width: none;
	max-height: none;
	overflow: visible;
	transform-origin: center center;
	will-change: transform;
}

.ccma-svg-block .ccma-svg-stage {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: var(--ccma-svg-icon-width, 96px);
	height: var(--ccma-svg-icon-height, var(--ccma-svg-icon-width, 96px));
	line-height: 0;
	color: var(--ccma-svg-line-color, currentColor);
	overflow: visible;
	transform-origin: center center;
	will-change: transform;
}

.ccma-svg-block.ccma-svg-clickable-block:hover .ccma-svg-bg-shape svg,
.ccma-svg-block.ccma-svg-clickable-block:focus-visible .ccma-svg-bg-shape svg {
	animation: ccma-svg-blob-hover 520ms ease-out 1;
}

.ccma-svg-block.ccma-svg-clickable-block:hover .ccma-svg-stage,
.ccma-svg-block.ccma-svg-clickable-block:focus-visible .ccma-svg-stage {
	animation: ccma-svg-icon-hover 520ms ease-out 1;
}

@keyframes ccma-svg-blob-hover {
	0% {
		transform: scale(1, 1) rotate(0deg);
	}
	40% {
		transform: scale(1.02, 0.98) rotate(-1deg);
	}
	60% {
		transform: scale(0.97, 1.03) rotate(1deg);
	}
	100% {
		transform: scale(1, 1) rotate(0deg);
	}
}

@keyframes ccma-svg-icon-hover {
	0% {
		transform: translateY(0) scale(1) rotate(0deg);
	}
	20% {
		transform: translateY(-1px) scale(1.015) rotate(0.4deg);
	}
	45% {
		transform: translateY(1px) scale(0.99) rotate(-0.4deg);
	}
	70% {
		transform: translateY(-0.5px) scale(1.008) rotate(0.2deg);
	}
	100% {
		transform: translateY(0) scale(1) rotate(0deg);
	}
}

/* Contenir l’illustration dans le fond du bloc SVG */
.ccma-svg-block .ccma-svg-inner {
	position: relative;
	display: grid;
	place-items: center;
	width: var(--ccma-svg-bg-width, calc(var(--ccma-svg-icon-width, 96px) * 1.32));
	height: var(--ccma-svg-bg-height, calc(var(--ccma-svg-icon-height, var(--ccma-svg-icon-width, 96px)) * 1.32));
	min-width: var(--ccma-svg-bg-width, calc(var(--ccma-svg-icon-width, 96px) * 1.32));
	min-height: var(--ccma-svg-bg-height, calc(var(--ccma-svg-icon-height, var(--ccma-svg-icon-width, 96px)) * 1.32));
	padding: 0;
	overflow: visible;
	box-sizing: border-box;
}

/* Le fond occupe exactement toute la zone du bouton */
.ccma-svg-block .ccma-svg-bg-shape {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

/* Le SVG de fond ne sert qu’à dessiner le blob */
.ccma-svg-block .ccma-svg-bg-shape svg {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	overflow: visible;
}

/* L’illustration est centrée et limitée à une zone interne du fond */
.ccma-svg-block .ccma-svg-stage {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;

	width: calc(var(--ccma-svg-bg-width, 126px) * 0.64);
	height: calc(var(--ccma-svg-bg-height, 126px) * 0.64);

	max-width: calc(var(--ccma-svg-bg-width, 126px) * 0.64);
	max-height: calc(var(--ccma-svg-bg-height, 126px) * 0.64);

	line-height: 0;
	color: var(--ccma-svg-line-color, currentColor);
	overflow: hidden;
	box-sizing: border-box;
}

/* Le SVG interne doit rester contenu dans .ccma-svg-stage */
.ccma-svg-block .ccma-svg-stage .ccma-svg-asset,
.ccma-svg-block .ccma-svg-stage svg {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	overflow: hidden;
	object-fit: contain;
}