/* ==========================================================================
   ChemChem — couche Elementor
   Valeurs par défaut des widgets natifs et ChemChem sur les pages Elementor.
   Sélecteurs à faible spécificité : tout réglage fait dans l'éditeur (onglet Style)
   passe devant.
   ========================================================================== */

/* Conteneurs ------------------------------------------------------------- */

/* Sections sombres (classe posée sur le conteneur) : textes clairs, repères miel. */
.e-con.is-dark,
.e-con.is-green {
	color: var(--cc-pollen);
	--cc-muted: color-mix(in srgb, var(--cc-pollen) 76%, transparent);
	--cc-ligne: color-mix(in srgb, var(--cc-pollen) 16%, transparent);
	--cc-ligne-forte: color-mix(in srgb, var(--cc-pollen) 30%, transparent);
	--cc-step-ring: transparent;
}

:where(.e-con.is-dark, .e-con.is-green) .elementor-heading-title { color: var(--cc-pollen); }

:where(.e-con.is-dark, .e-con.is-green) .cc-b-chips li { color: var(--cc-pollen); border-color: color-mix(in srgb, var(--cc-pollen) 26%, transparent); }

.e-con.is-cire { --cc-step-ring: var(--cc-cire); }

/* Le contenu passe devant le décor « courbes de niveau ». */
.e-con:has(> .cc-decor--rift, > .cc-decor--volcan, > .cc-decor--vallee, > .e-con-inner > .cc-decor--rift, > .e-con-inner > .cc-decor--volcan, > .e-con-inner > .cc-decor--vallee) {
	overflow: hidden;
	isolation: isolate;
}

/* Titres natifs : interlignage et graisse du thème. */
.elementor-widget-heading :is(h1, h2).elementor-heading-title { line-height: 1.06; }
.elementor-widget-heading h3.elementor-heading-title { line-height: 1.15; }
.elementor-widget-heading h4.elementor-heading-title { line-height: 1.25; }
.elementor-widget-heading .elementor-heading-title { font-weight: var(--cc-heading-weight); }
:where(.elementor-widget-heading) p.elementor-heading-title { font-weight: inherit; }

/* Texte courant : couleur secondaire du thème, gras en encre. */
.elementor-widget-text-editor { color: var(--cc-muted, var(--cc-encre-douce)); }
.elementor-widget-text-editor strong { color: var(--cc-basalte); }
:where(.e-con.is-dark, .e-con.is-green) .elementor-widget-text-editor strong { color: var(--cc-pollen); }
.elementor-widget-text-editor > *:last-child,
.elementor-widget-text-editor .elementor-widget-container > *:last-child { margin-bottom: 0; }

/* Repère (widget Titre + classe « cc-el-kicker ») ------------------------- */
.cc-el-kicker .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
	font-family: var(--cc-font-body);
	font-size: var(--fs-s);
	font-weight: 650;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: var(--cc-ambre-texte);
}

.cc-el-kicker .elementor-heading-title::before {
	content: "";
	width: 0.85em;
	height: 1.05em;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2c3.3 4.2 5.5 7.4 5.5 10.3a5.5 5.5 0 0 1-11 0c0-2.9 2.2-6.1 5.5-10.3z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2c3.3 4.2 5.5 7.4 5.5 10.3a5.5 5.5 0 0 1-11 0c0-2.9 2.2-6.1 5.5-10.3z'/%3E%3C/svg%3E") center / contain no-repeat;
}

:where(.e-con.is-dark, .e-con.is-green) .cc-el-kicker .elementor-heading-title { color: var(--cc-miel); }

/* Textes particuliers (classes sur les widgets natifs) */
.cc-el-lead .elementor-widget-container,
.cc-el-lead:not(:has(.elementor-widget-container)) {
	font-size: var(--fs-lead);
	line-height: 1.55;
}

.cc-el-word .elementor-heading-title {
	font-family: var(--cc-font-display);
	font-size: clamp(2.8rem, 15vw, 13rem);
	font-weight: 800;
	line-height: 0.84;
	letter-spacing: -0.06em;
	color: var(--cc-miel);
}

.cc-el-quote .elementor-heading-title {
	max-width: 22ch;
	font-family: var(--cc-font-display);
	font-size: clamp(2.1rem, 1.2rem + 3.8vw, 5rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.035em;
	color: var(--cc-basalte);
}

.cc-el-card-text .elementor-heading-title {
	font-family: var(--cc-font-display);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: inherit;
}

.cc-el-final .elementor-heading-title {
	font-size: clamp(2.2rem, 1.4rem + 3vw, 4.2rem);
	line-height: 1.02;
	letter-spacing: -0.035em;
}

/* Boutons natifs : variantes du système de design ---------------------------
   Classe sur le widget Bouton : cc-el-btn--miel | --basalte | --ligne | --ligne-claire. */
/* Classe doublée : passe devant « .is-dark a:not(.cc-btn) » du thème, reste derrière les réglages de l'éditeur. */
[class*="cc-el-btn--"] .elementor-button.elementor-button {
	--btn-bg: var(--cc-miel);
	--btn-fg: var(--cc-basalte);
	--btn-bd: var(--cc-miel);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0.85em 1.45em;
	border: 1.5px solid var(--btn-bd);
	border-radius: 999px;
	background: var(--btn-bg);
	color: var(--btn-fg);
	fill: var(--btn-fg);
	font-family: var(--cc-font-body);
	font-size: var(--fs-s);
	font-weight: 650;
	line-height: 1.1;
	letter-spacing: 0.005em;
	transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

[class*="cc-el-btn--"] .elementor-button:is(:hover, :focus-visible) { color: var(--btn-fg); }
[class*="cc-el-btn--"] .elementor-button-content-wrapper { gap: 0.6em; }
[class*="cc-el-btn--"] .elementor-button-icon { font-size: 1.05em; transition: transform var(--dur) var(--ease); }
[class*="cc-el-btn--"] .elementor-button-icon svg { width: 1.1em; height: 1.1em; fill: currentColor; }
[class*="cc-el-btn--"] .elementor-button:hover .elementor-button-icon { transform: translateX(3px); }

.cc-el-btn--miel .elementor-button:is(:hover, :focus-visible) { --btn-bg: var(--cc-basalte); --btn-fg: var(--cc-miel); --btn-bd: var(--cc-basalte); }
.cc-el-btn--basalte .elementor-button { --btn-bg: var(--cc-basalte); --btn-fg: var(--cc-pollen); --btn-bd: var(--cc-basalte); }
.cc-el-btn--basalte .elementor-button:is(:hover, :focus-visible) { --btn-bg: var(--cc-miel); --btn-fg: var(--cc-basalte); --btn-bd: var(--cc-miel); }
.cc-el-btn--ligne .elementor-button { --btn-bg: transparent; --btn-fg: var(--cc-basalte); --btn-bd: var(--cc-ligne-forte); }
.cc-el-btn--ligne .elementor-button:is(:hover, :focus-visible) { --btn-bg: var(--cc-basalte); --btn-fg: var(--cc-pollen); --btn-bd: var(--cc-basalte); }

.cc-el-btn--ligne-claire .elementor-button,
:where(.e-con.is-dark, .e-con.is-green) .cc-el-btn--ligne .elementor-button { --btn-bg: transparent; --btn-fg: var(--cc-pollen); --btn-bd: color-mix(in srgb, var(--cc-pollen) 45%, transparent); }
.cc-el-btn--ligne-claire .elementor-button:is(:hover, :focus-visible),
:where(.e-con.is-dark, .e-con.is-green) .cc-el-btn--ligne .elementor-button:is(:hover, :focus-visible) { --btn-bg: var(--cc-pollen); --btn-fg: var(--cc-basalte); --btn-bd: var(--cc-pollen); }

/* Images natives : proportions (classe cc-el-ratio-…) ------------------------ */
[class*="cc-el-ratio-"] img { width: 100%; object-fit: cover; }
.cc-el-ratio-4-5 img { aspect-ratio: 4 / 5; }
.cc-el-ratio-3-4 img { aspect-ratio: 3 / 4; }
.cc-el-ratio-16-10 img { aspect-ratio: 16 / 10; }

/* Nos Solutions : le cadre suit les proportions de la photo, sans la rogner. */
.cc-el-ratio-auto img {
	width: auto;
	max-width: 100%;
	max-height: min(88vh, 860px);
	margin-inline: auto;
	object-fit: contain;
}

/* Widgets ChemChem ---------------------------------------------------------- */

/* Les listes et grilles n'ajoutent pas de marge : l'espacement vient du conteneur. */
.elementor-widget-cc-values .cc-b-values,
.elementor-widget-cc-steps .cc-b-steps,
.elementor-widget-cc-team .cc-b-team,
.elementor-widget-cc-icongrid :is(.cc-b-icongrid, .cc-b-alerts),
.elementor-widget-cc-list .cc-list,
.elementor-widget-cc-decor .cc-b-wave {
	margin: 0;
	padding-inline: 0;
	max-width: none !important;
}

.elementor-widget-cc-list .cc-list:not([class*="cc-b-"]):not(.is-style-coches) { padding-left: 1.2em; }
.elementor-widget-cc-list .cc-list li { color: var(--cc-muted, var(--cc-encre-douce)); }
.elementor-widget-cc-list .cc-list strong { color: var(--cc-basalte); }
:where(.e-con.is-dark, .e-con.is-green) .elementor-widget-cc-list .cc-list strong { color: var(--cc-pollen); }
.elementor-widget-cc-list .cc-b-anchors li { color: inherit; }

/* Décor : les courbes de niveau couvrent tout le conteneur, derrière le contenu. */
.elementor-widget-cc-decor:is(.cc-decor--rift, .cc-decor--volcan, .cc-decor--vallee) {
	position: absolute !important;
	inset: 0;
	z-index: -1;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	pointer-events: none;
}

.elementor-widget-cc-decor:is(.cc-decor--rift, .cc-decor--volcan, .cc-decor--vallee) .elementor-widget-container { height: 100%; }
.elementor-widget-cc-decor .cc-b-contours { color: currentColor; }
:where(.e-con.is-dark, .e-con.is-green) .elementor-widget-cc-decor .cc-b-contours { color: var(--cc-miel); opacity: 0.18; }

/* Décor « Motif du thème » : se place dans le conteneur parent (section ou colonne de l'image). */
.elementor-widget-cc-decor.cc-decor--art {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	pointer-events: none;
}

.elementor-widget-cc-decor.cc-decor--art .elementor-widget-container { height: 100%; }
.e-con:has(> .elementor-widget-cc-decor, > .e-con-inner > .elementor-widget-cc-decor) { isolation: isolate; }

/* Pastilles posées sur l'image : côté gauche */
.cc-deco--t-media.cc-deco--left { right: auto; left: -22px; }
.cc-deco--sol.cc-deco--left { right: auto; left: -26px; }

@media (max-width: 899px) {
	.cc-deco--t-media.cc-deco--left { left: -4px; }
	.cc-deco--sol.cc-deco--left { left: -6px; }
}

/* Filigrane des solutions (au trait, derrière le texte) */
.elementor-widget-cc-decor .cc-deco--sol-mark {
	z-index: -1;
	top: 50%;
	right: 2%;
	left: auto;
	width: clamp(220px, 26vw, 380px);
	opacity: 0.09;
	transform: translateY(-50%) rotate(-8deg);
}

:where(.e-con.is-dark) .cc-deco--sol-mark { opacity: 0.16; }
:where(.e-con.is-dark) .cc-deco--sol-mark * { stroke: var(--cc-miel) !important; }
:where(.e-con.is-dark) .cc-deco--sol { background: var(--cc-basalte-2); box-shadow: 0 0 0 1px color-mix(in srgb, var(--cc-miel) 30%, transparent); }
:where(.e-con.is-green) .cc-deco--t-leaf .cc-leafc__leaf { fill: color-mix(in srgb, var(--cc-miel) 12%, transparent); stroke: var(--cc-miel); }
:where(.e-con.is-green) .cc-deco--t-leaf .cc-leafc__vein { stroke: var(--cc-miel); }

/* Motifs CSS des sections (équivalents de ceux des blocs Gutenberg) -------- */

/* Sections cire : alvéoles en filigrane dans le coin (grille de circuit sur les pages tech). */
.e-con.cc-el-section.is-cire { isolation: isolate; }

.e-con.cc-el-section.is-cire::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: -1;
	width: min(460px, 60vw);
	height: 380px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66v34' fill='none' stroke='%23E97A00' stroke-opacity='.22' stroke-width='1.4'/%3E%3Cpath d='M28 0v34L0 50v34l28 16 28-16V50L28 34' fill='none' stroke='%23E97A00' stroke-opacity='.22' stroke-width='1.4'/%3E%3C/svg%3E") 0 0 / 56px 100px;
	-webkit-mask-image: radial-gradient(circle at 100% 0, #000 0, transparent 72%);
	mask-image: radial-gradient(circle at 100% 0, #000 0, transparent 72%);
	opacity: 1;
	pointer-events: none;
}

.cc-tech .e-con.cc-el-section.is-cire::before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='none' stroke='%23E97A00' stroke-opacity='.3' stroke-width='1.2'%3E%3Cpath d='M0 20h22l8 8h20M50 28V0M30 28v22l10 10h40M10 80V58l8-8M60 60v20'/%3E%3Ccircle cx='50' cy='28' r='2.4'/%3E%3Ccircle cx='18' cy='50' r='2.4'/%3E%3Ccircle cx='60' cy='60' r='2.4'/%3E%3C/svg%3E") 0 0 / 80px 80px;
}

/* Sections sombres et vertes : nuée de pollen en haut à droite (sauf pages tech). */
.e-con.cc-el-section:is(.is-dark, .is-green) { isolation: isolate; }

.e-con.cc-el-section:is(.is-dark, .is-green)::after {
	content: "";
	position: absolute;
	top: 5%;
	right: 3%;
	width: clamp(110px, 16vw, 210px);
	aspect-ratio: 160 / 100;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100' fill='%23FFC400'%3E%3Ccircle cx='8' cy='14' r='3'/%3E%3Ccircle cx='30' cy='6' r='1.6' opacity='.6'/%3E%3Ccircle cx='52' cy='22' r='2.4'/%3E%3Ccircle cx='74' cy='10' r='1.4' opacity='.5'/%3E%3Ccircle cx='96' cy='28' r='3.2' opacity='.8'/%3E%3Ccircle cx='120' cy='12' r='1.8' opacity='.6'/%3E%3Ccircle cx='142' cy='30' r='2.2'/%3E%3Ccircle cx='44' cy='52' r='2.8' opacity='.7'/%3E%3Ccircle cx='90' cy='58' r='2' opacity='.5'/%3E%3Ccircle cx='136' cy='66' r='2.6' opacity='.7'/%3E%3Ccircle cx='104' cy='86' r='2.2' opacity='.5'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: 0.8;
	pointer-events: none;
	z-index: 0;
}

.cc-tech .e-con.cc-el-section:is(.is-dark, .is-green)::after { display: none; }

/* Cartes : petite alvéole dans le coin (puce sur les pages tech). */
.e-con.cc-el-card { isolation: isolate; }

.e-con.e-con.cc-el-card::after {
	content: "";
	position: absolute;
	top: auto;
	right: 18px;
	bottom: 18px;
	width: 46px;
	aspect-ratio: 1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,4 108.5,32 108.5,88 60,116 11.5,88 11.5,32' fill='none' stroke='%23E97A00' stroke-width='3' stroke-dasharray='8 10'/%3E%3Cpolygon points='60,34 82.5,47 82.5,73 60,86 37.5,73 37.5,47' fill='%23FFC40055' stroke='%23E97A00' stroke-width='2.4'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: 0.55;
	pointer-events: none;
}

.cc-tech .e-con.e-con.cc-el-card::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 118 118' fill='none' stroke='%23E97A00' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M36 14v12M50 14v12M64 14v12M78 14v12M36 92v12M50 92v12M64 92v12M78 92v12M14 36h12M14 50h12M14 64h12M14 78h12M92 36h12M92 50h12M92 64h12M92 78h12'/%3E%3Crect x='26' y='26' width='66' height='66' rx='12' stroke-width='3'/%3E%3Cpolygon points='59,40 75,49 75,69 59,78 43,69 43,49' fill='%23FFC40055' stroke-width='3'/%3E%3C/svg%3E");
}

/* Colonne image des sections « image + texte » : fleur mellifère sur le coin (sauf pages tech). */
.e-con.cc-el-media::after {
	content: "";
	position: absolute;
	top: -18px;
	left: -14px;
	width: clamp(46px, 6vw, 78px);
	aspect-ratio: 80 / 104;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 104'%3E%3Cpath d='M40 50c0 18-3 30 0 52' fill='none' stroke='%23344E40' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M40 80c-8-9-19-10-25-4 8 7 18 9 25 4z' fill='%23344E404d' stroke='%23344E40' stroke-width='1.4'/%3E%3Cg fill='%23FFEDB3' stroke='%23E97A00' stroke-width='1.4'%3E%3Cellipse cx='40' cy='21' rx='8.5' ry='14'/%3E%3Cellipse cx='40' cy='21' rx='8.5' ry='14' transform='rotate(60 40 36)'/%3E%3Cellipse cx='40' cy='21' rx='8.5' ry='14' transform='rotate(120 40 36)'/%3E%3Cellipse cx='40' cy='21' rx='8.5' ry='14' transform='rotate(180 40 36)'/%3E%3Cellipse cx='40' cy='21' rx='8.5' ry='14' transform='rotate(240 40 36)'/%3E%3Cellipse cx='40' cy='21' rx='8.5' ry='14' transform='rotate(300 40 36)'/%3E%3C/g%3E%3Ccircle cx='40' cy='36' r='7.5' fill='%23FFC400' stroke='%23E97A00' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
	z-index: 2;
}

.e-con.cc-el-media--reverse::after { left: auto; right: -14px; }
.cc-tech .e-con.cc-el-media::after,
.e-con.cc-el-media:has(.cc-deco--sol)::after { display: none; }

/* Motifs désactivés dans le Customizer */
.cc-no-decor .e-con.cc-el-section.is-cire::before,
.cc-no-decor .e-con.cc-el-section:is(.is-dark, .is-green)::after,
.cc-no-decor .e-con.e-con.cc-el-card::after,
.cc-no-decor .e-con.cc-el-media::after { display: none; }

/* L'éditeur laisse cliquer le décor pour le sélectionner. */
.elementor-editor-active .elementor-widget-cc-decor:is(.cc-decor--rift, .cc-decor--volcan, .cc-decor--vallee) { pointer-events: auto; }
.elementor-editor-active .elementor-widget-cc-decor.cc-decor--art .cc-deco { pointer-events: auto; cursor: pointer; }

/* Sections du thème posées dans un conteneur pleine largeur. */
.elementor-widget[class*="elementor-widget-cc-section-"],
.elementor-widget-cc-banner { width: 100%; }
.elementor-widget[class*="elementor-widget-cc-section-"] > .elementor-widget-container,
.elementor-widget-cc-banner > .elementor-widget-container { height: 100%; }

/* Appel final (fond miel + alvéoles en filigrane du thème) */
.e-con.cc-b-final { isolation: isolate; }

/* Miel du Volcan : visuel du manifeste et son badge */
.cc-el-manifest-media { position: relative; flex: none; }

.elementor-widget.cc-el-badge {
	position: absolute !important;
	left: -28px;
	bottom: 12%;
	width: auto !important;
	margin: 0 !important;
}

.cc-el-badge .elementor-heading-title {
	display: grid;
	place-items: center;
	width: 104px;
	height: 104px;
	border-radius: 50%;
	background: var(--cc-miel);
	color: var(--cc-basalte);
	font-family: var(--cc-font-display);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	box-shadow: var(--sh-1);
	animation: cc-hover 6s ease-in-out infinite;
}

/* Carrousel d'images natif : points de navigation aux couleurs du thème */
.cc-el-carousel .swiper-pagination-bullet { background: var(--cc-pollen); opacity: 0.6; }
.cc-el-carousel .swiper-pagination-bullet-active { background: var(--cc-miel); opacity: 1; }

/* ApiConnect : carte API CARD (conteneur + titres natifs, classe cc-el-apicard) */
.e-con.cc-el-apicard {
	aspect-ratio: 1.586;
	max-width: 100%;
	overflow: hidden;
	isolation: isolate;
	color: var(--cc-basalte);
	box-shadow: 0 2px 4px rgb(0 0 0 / 0.25), 0 40px 70px -30px rgb(0 0 0 / 0.75);
	transform: rotate(-5deg);
	transition: transform 0.6s var(--ease), box-shadow 0.6s var(--ease);
}

.e-con.cc-el-apicard:hover { transform: rotate(0deg) translateY(-6px); }

/* Alvéoles en filigrane et reflet */
.e-con.cc-el-apicard::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(115deg, rgb(255 255 255 / 0.28) 0%, transparent 38%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='75'%3E%3Cpath d='M21 49.5L0 37.5V12.5L21 0l21 12.5v25L21 49.5v25.5M21 0v25.5L0 37.5v25l21 12.5 21-12.5v-25L21 25.5' fill='none' stroke='%231A1611' stroke-opacity='.12' stroke-width='1.2'/%3E%3C/svg%3E") 100% 0 / 42px 75px;
	pointer-events: none;
}

.cc-el-apicard-stage { perspective: 1200px; }

:where(.e-con.cc-el-apicard) .elementor-heading-title { color: var(--cc-basalte); }

.cc-el-apicard-label .elementor-heading-title {
	font-family: var(--cc-font-display);
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.cc-el-apicard-role .elementor-heading-title {
	display: inline-block;
	padding: 0.35em 0.9em;
	border-radius: 999px;
	background: var(--cc-basalte);
	color: var(--cc-miel);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.cc-el-apicard-number .elementor-heading-title {
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: clamp(1.05rem, 0.85rem + 0.8vw, 1.45rem);
	font-weight: 600;
	letter-spacing: 0.14em;
}

.cc-el-apicard-meta .elementor-heading-title {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.7;
}

.cc-el-apicard-value .elementor-heading-title {
	font-family: var(--cc-font-display);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.e-con.cc-el-apicard { transform: none; }
}

/* Contact */
.elementor-widget-cc-contact .cc-contact-list--page { margin-top: 0; }

/* Éditeur : animations d'apparition visibles immédiatement (le widget est ré-affiché sans défilement). */
.elementor-editor-active .cc-contours path { stroke-dashoffset: 0 !important; }
