/*
 * Page pilier « Colloque » (/colloque/) — feuille de style dédiée.
 * Reprise des règles de colloque-pilier-preview-v2.html qui ne se laissent pas
 * régler depuis le panneau Elementor : cartes de panels, KPI, cartes « temps
 * forts », cartouche de l'image, cartes de ressources.
 *
 * Elle n'accompagne aucun widget : elle habille des blocs Elementor natifs.
 * Les classes se posent à la main dans Elementor, onglet « Avancé → Classes
 * CSS », et sont toutes préfixées « ucx- ». Le JSON colloque-pilier.json les
 * pose déjà : il n'y a rien à saisir après un import.
 *
 * Trois conventions, communes aux trois widgets du plugin :
 *   1. Aucune règle globale (body, section, h1-h4, a). Tout descend d'une
 *      classe « ucx- ».
 *   2. Aucune famille de police imposée. Les deux familles de l'aperçu
 *      passent par des variables branchées sur la typographie globale
 *      d'Elementor (Réglages du site → Typographie) :
 *        --ucx-f-titre → global « Primaire »  (Playfair Display)
 *        --ucx-f-cond  → global « Accent »    (Roboto Condensed)
 *      Le second argument de var() n'est pas « inherit » mais la famille
 *      elle-même : globale non réglée, on retombe sur Playfair Display et
 *      Roboto Condensed, et non sur la police du thème. Les fichiers de police
 *      sont chargés par le plugin (handle « unico-colloque-fonts »).
 *   3. Un bloc de neutralisation en tête, seul endroit où « !important » est
 *      employé : le thème d'unico.cd repeint les <p>, les <b> et les boutons.
 *
 * Chargement : conditionné à la page, dans includes/class-elementor.php. La
 * feuille n'est mise en file que si le contenu Elementor de la page contient
 * au moins une classe « ucx- » — donc jamais sur le reste du site.
 *
 * @package unico-colloque
 */

/* ===================================================================
 * 1. Variables — posées sur chaque section par la classe « ucx-sec »
 * =================================================================== */

.ucx-sec {
	--ucx-vert: #133816;
	--ucx-vert-fonce: #0D2710;
	--ucx-or: #C8973C;
	--ucx-vert-sombre: #1A2E2A;
	--ucx-beige: #F5F3EF;
	--ucx-texte: #20241F;
	--ucx-gris: #6B6F68;
	--ucx-bordure: #ECE7DC;

	/* Familles : globales Elementor si elles sont réglées, sinon celles de l'aperçu. */
	--ucx-f-titre: var(--e-global-typography-primary-font-family, "Playfair Display", Georgia, "Times New Roman", serif);
	--ucx-f-cond: var(--e-global-typography-accent-font-family, "Roboto Condensed", "Arial Narrow", Arial, sans-serif);

	/* Rayons et ombres, repris de l'aperçu. */
	--ucx-radius: 16px;
	--ucx-ombre: 0 22px 42px rgba(19, 56, 22, .12);
	--ucx-ombre-forte: 0 24px 46px rgba(19, 56, 22, .14);
	--ucx-transition: .3s ease;
}

/* ===================================================================
 * 2. Neutralisation du thème
 *
 * Le thème d'unico.cd impose une marge basse à tous les <p>, met les <i> en
 * italique — ce qui fait pencher les icônes Font Awesome —, pose des ombres
 * portées sur les <b> et repeint les <a> des cartes. Sans ces règles, les
 * cartes se décalent les unes par rapport aux autres selon qu'elles portent
 * ou non un paragraphe.
 *
 * D'où le !important, employé ici et nulle part ailleurs dans la feuille.
 * =================================================================== */

/*
 * Neutralisation commune à tous les titres : marge, ombres. Le fond n'est PAS
 * remis à zéro ici — quatre de ces classes sont justement des pastilles et
 * doivent en porter un. C'est l'erreur du premier montage : « background: none
 * !important » posé sur « ucx-pnum » battait la règle qui, trente lignes plus
 * bas, peignait la pastille en doré. Résultat, « PANEL 1 » sortait transparent.
 */
.ucx-sec .ucx-eyebrow .elementor-heading-title,
.ucx-sec .ucx-h2 .elementor-heading-title,
.ucx-sec .ucx-tag .elementor-heading-title,
.ucx-sec .ucx-quand .elementor-heading-title,
.ucx-sec .ucx-pnum .elementor-heading-title,
.ucx-sec .ucx-pquand .elementor-heading-title,
.ucx-sec .ucx-vnum .elementor-heading-title,
.ucx-sec .ucx-rtag .elementor-heading-title {
	margin: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

/*
 * La pastille de qualité et la ligne de rôle des cartes de direction
 * scientifique ne sont PAS dans la liste ci-dessus : elles portent leurs
 * propres marges — 18 px au-dessus de la pastille, 12 px au-dessus du rôle —
 * qu'un « margin: 0 !important » à trois classes effacerait sans recours.
 * Seules les ombres du thème sont neutralisées ici.
 */
.ucx-sec .ucx-dqual .elementor-heading-title,
.ucx-sec .ucx-drole .elementor-heading-title {
	box-shadow: none !important;
	text-shadow: none !important;
}

/* Les titres qui, eux, ne doivent porter aucun fond. */
.ucx-sec .ucx-eyebrow .elementor-heading-title,
.ucx-sec .ucx-h2 .elementor-heading-title,
.ucx-sec .ucx-pquand .elementor-heading-title,
.ucx-sec .ucx-vnum .elementor-heading-title,
.ucx-sec .ucx-drole .elementor-heading-title {
	background: none !important;
}

/*
 * Les quatre pastilles. Le fond est déclaré ici, en forçage, pour deux raisons :
 * le thème repeint les titres, et une pastille sans fond n'est plus une
 * pastille — le défaut se voit immédiatement, contrairement à une nuance qui
 * dérive.
 */
.ucx-sec .ucx-pnum .elementor-heading-title,
.ucx-sec .ucx-quand .elementor-heading-title,
.ucx-sec .ucx-dqual .elementor-heading-title {
	background: var(--ucx-or) !important;
}

.ucx-sec .ucx-rtag .elementor-heading-title {
	background: var(--ucx-beige) !important;
}

.ucx-sec .ucx-chapo p:last-child,
.ucx-sec .ucx-qui p:last-child,
.ucx-sec .ucx-cite p:last-child,
.ucx-sec .ucx-vtexte p:last-child,
.ucx-sec .ucx-pobj p:last-child,
.ucx-sec .ucx-rtexte p:last-child,
.ucx-sec .ucx-dtexte p:last-child,
.ucx-sec .ucx-dirsci p:last-child,
.ucx-sec .ucx-cartouche p:last-child {
	margin-bottom: 0 !important;
}

.ucx-sec .ucx-fph i,
.ucx-sec .elementor-icon i {
	font-style: normal;
	text-shadow: none !important;
}

/* Le thème coiffe les <a> de soulignements et de couleurs de survol. */
.ucx-sec .elementor-button {
	text-decoration: none !important;
	text-shadow: none !important;
}

/*
 * Couleurs des trois sections sombres — hero, temps forts, bandeau final.
 *
 * C'est le point qui a échoué au premier montage : le titre du hero, « Ouverture
 * et clôture » et « Participer au colloque » sortaient en vert foncé sur fond
 * vert foncé, donc illisibles. Le thème d'unico.cd impose une couleur aux h1-h3
 * avec une spécificité qu'une règle ordinaire ne bat pas.
 *
 * Le JSON pose déjà la couleur widget par widget — Elementor écrit alors sa
 * propre règle. Ces déclarations sont la seconde ligne de défense, pour un bloc
 * ajouté à la main sans passer par le panneau. Un texte illisible est un défaut
 * trop coûteux pour être laissé à une question de spécificité.
 */
.ucx-hero .ucx-h1 .elementor-heading-title,
.ucx-forts .ucx-h2 .elementor-heading-title,
.ucx-cta .ucx-h2 .elementor-heading-title,
.ucx-forts .ucx-ftitre .elementor-heading-title {
	color: #FFFFFF !important;
}

.ucx-hero .ucx-eyebrow .elementor-heading-title,
.ucx-forts .ucx-eyebrow .elementor-heading-title,
.ucx-cta .ucx-eyebrow .elementor-heading-title,
.ucx-forts .ucx-tag .elementor-heading-title {
	color: var(--ucx-or) !important;
}

.ucx-hero .ucx-sous,
.ucx-hero .ucx-sous p {
	color: #E6DCC4 !important;
}

.ucx-hero .ucx-meta,
.ucx-hero .ucx-meta p {
	color: #E6EEE6 !important;
}

.ucx-hero .ucx-dirsci,
.ucx-hero .ucx-dirsci p {
	color: #E3EBE3 !important;
}

.ucx-hero .ucx-dirsci b {
	color: #FFFFFF !important;
}

.ucx-forts .ucx-qui,
.ucx-forts .ucx-qui p {
	color: #BCCDBD !important;
}

.ucx-forts .ucx-cite,
.ucx-forts .ucx-cite p {
	color: #E0D5BA !important;
}

.ucx-cta .ucx-chapo,
.ucx-cta .ucx-chapo p {
	color: #D7E2D7 !important;
}

.ucx-forts .ucx-quand .elementor-heading-title {
	color: #33260C !important;
}

/*
 * Dix classes de section ne portent aucune règle et c'est voulu :
 * « ucx-stats », « ucx-panels », « ucx-interv », « ucx-res », « ucx-dsci »
 * sur le pilier,
 * « ucx-docs » et « ucx-revue » sur Ressources, « ucx-etapes », « ucx-inscr »
 * et « ucx-faqsec » sur Inscription. Elles identifient leur section — fond et marges sont réglés dans le panneau Elementor. Elles servent
 * de point d'accroche si une retouche localisée devient nécessaire, et
 * permettent de repérer la section dans l'inspecteur du navigateur.
 */

/* ===================================================================
 * 3. Éléments communs à toutes les sections
 * =================================================================== */

/* Sur-titre doré en capitales espacées. */
.ucx-eyebrow .elementor-heading-title {
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--ucx-or);
	line-height: 1.4;
}

/* Titre de section. */
.ucx-h2 .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 34px;
	line-height: 1.25;
	color: var(--ucx-vert);
}

.ucx-h2 {
	margin-top: 12px;
}

/* Chapeau sous le titre de section. */
.ucx-chapo {
	color: var(--ucx-gris);
	max-width: 720px;
	margin: 14px auto 0;
	line-height: 1.7;
}

/* Colonne qui aligne deux boutons côte à côte, centrés, et les fait passer
 * l'un sous l'autre sur mobile. Elementor ne sait pas le faire seul : ses
 * widgets sont des blocs empilés. */
.ucx-boutons > .elementor-widget-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	align-items: center;
}

.ucx-boutons > .elementor-widget-wrap > .elementor-element {
	width: auto;
	max-width: 100%;
	margin: 0;
}

/* ===================================================================
 * Gouttière entre les cartes
 *
 * Elementor pose sa gouttière en marge intérieure de « .elementor-widget-wrap »
 * — l'enveloppe même sur laquelle nos cartes peignent leur fond. Résultat au
 * premier montage : le blanc de la carte remplissait toute la colonne, gouttière
 * comprise, et les cartes se touchaient. La marge intérieure d'Elementor
 * l'emportait au passage sur la nôtre, sa règle portant trois classes contre
 * deux.
 *
 * Parade : la gouttière devient une marge *extérieure* de l'enveloppe, et la
 * marge intérieure est reprise avec un sélecteur à quatre classes. Chaque carte
 * garde ainsi ses 24 px d'air, comme dans l'aperçu.
 * =================================================================== */

.ucx-sec .elementor-column.ucx-vcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-fcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-pcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-rcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-dcard > .elementor-widget-wrap {
	margin: 12px;
}

.ucx-sec .elementor-column.ucx-vcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-rcard > .elementor-widget-wrap {
	padding: 28px 26px;
}

.ucx-sec .elementor-column.ucx-pcard > .elementor-widget-wrap {
	padding: 28px 26px 26px;
}

.ucx-sec .elementor-column.ucx-fcard > .elementor-widget-wrap {
	padding: 32px 34px;
}

.ucx-sec .elementor-column.ucx-dcard > .elementor-widget-wrap {
	padding: 32px 24px 28px;
}

/* La hauteur devient celle de la rangée moins les deux marges. */
.ucx-sec .elementor-column.ucx-vcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-fcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-pcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-rcard > .elementor-widget-wrap,
.ucx-sec .elementor-column.ucx-dcard > .elementor-widget-wrap {
	height: calc(100% - 24px);
}

/* Léger soulèvement au survol, sur tous les boutons de la page. */
.ucx-sec .elementor-button {
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.ucx-sec .elementor-button:hover,
.ucx-sec .elementor-button:focus-visible {
	transform: translateY(-2px);
}

/* ===================================================================
 * 4. Hero
 * =================================================================== */

.ucx-hero {
	position: relative;
	overflow: hidden;
	color: #FFFFFF;
}

/* Halo doré en haut à droite, purement décoratif : il ne reçoit aucun clic. */
.ucx-hero::after {
	content: "";
	position: absolute;
	top: -240px;
	right: -180px;
	width: 640px;
	height: 640px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 151, 60, .20), transparent 68%);
	pointer-events: none;
	z-index: 0;
}

/* Le contenu repasse au-dessus du halo. */
.ucx-hero > .elementor-container {
	position: relative;
	z-index: 2;
}

.ucx-hero .ucx-h1 .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.2;
	color: #FFFFFF;
	max-width: 960px;
	margin: 16px auto 0;
}

/* Sous-titre en italique, famille des titres. */
.ucx-sous {
	max-width: 800px;
	margin: 18px auto 0;
	font-family: var(--ucx-f-titre);
	font-size: 18px;
	font-style: italic;
	line-height: 1.6;
	color: #E6DCC4;
}

/*
 * Les trois pastilles d'information. Un seul éditeur de texte : le client
 * modifie « 26 – 28 novembre 2026 » sans toucher à trois widgets, et l'ajout
 * d'une quatrième pastille ne demande qu'un <span> de plus.
 */
.ucx-meta .elementor-widget-container {
	margin-top: 30px;
}

/*
 * La rangée est déclarée deux fois : l'éditeur de texte enveloppe la ligne
 * dans un <p>, mais pas toujours — selon que le client repasse ou non par
 * l'éditeur visuel. Avec les deux règles, les pastilles s'alignent dans les
 * deux cas.
 */
.ucx-meta .elementor-widget-container,
.ucx-meta p {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
}

.ucx-meta p {
	margin: 0 !important;
}

.ucx-meta span {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 24px;
	padding: 9px 18px;
	font-size: 14px;
	line-height: 1.4;
	color: #E6EEE6;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.ucx-meta span b {
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	letter-spacing: .5px;
	color: var(--ucx-or);
	background: none !important;
	text-shadow: none !important;
}

/*
 * Ligne « Sous la direction scientifique de », entre le sous-titre et les
 * pastilles. Un seul éditeur de texte, comme « ucx-meta » : le comité de
 * direction tient sur une ligne, le client corrige un nom sans toucher à
 * quatre widgets.
 *
 * Le filet doré est une bordure haute de l'enveloppe, et non un séparateur
 * Elementor : un widget « divider » de plus dans le hero aurait ajouté ses
 * propres marges au-dessus et au-dessous, difficiles à reprendre.
 */
.ucx-dirsci .elementor-widget-container {
	max-width: 940px;
	margin: 26px auto 0;
	padding-top: 20px;
	border-top: 1px solid rgba(200, 151, 60, .30);
}

.ucx-dirsci p {
	margin: 0 !important;
}

.ucx-dlabel {
	display: block;
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2.6px;
	font-size: 11px;
	line-height: 1.4;
	color: var(--ucx-or);
	margin-bottom: 9px;
}

.ucx-dnoms {
	font-family: var(--ucx-f-cond);
	font-size: 15.5px;
	letter-spacing: .3px;
	line-height: 1.75;
}

/*
 * Chaque nom est insécable : une coupure au milieu de « Wetsh'okonda Koso »
 * se lit comme deux personnes. Les espaces qui entourent les points médians,
 * eux, restent les seuls points de coupure de la ligne — d'où les espaces
 * réels dans le HTML de l'éditeur de texte, et non des <span> collés.
 */
.ucx-dnoms b {
	font-weight: 500;
	white-space: nowrap;
	background: none !important;
	text-shadow: none !important;
}

.ucx-dsep {
	color: var(--ucx-or);
	margin: 0 5px;
}

/* ===================================================================
 * 5. Chiffres clés — widget « counter » natif
 * =================================================================== */

.ucx-stat .elementor-counter-number-wrapper {
	font-family: var(--ucx-f-titre);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: var(--ucx-or);
	font-variant-numeric: tabular-nums;
	justify-content: center;
}

.ucx-stat .elementor-counter-title {
	font-family: var(--ucx-f-cond);
	text-transform: uppercase;
	letter-spacing: 1.6px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--ucx-gris);
	margin-top: 8px;
}

/* ===================================================================
 * 6. À propos
 * =================================================================== */

.ucx-about .ucx-h2 .elementor-heading-title {
	font-size: 35px;
	margin: 12px 0 18px;
}

.ucx-texte {
	color: #4A5049;
	font-size: 16px;
	line-height: 1.75;
}

.ucx-texte p {
	margin-bottom: 16px;
}

/*
 * Colonne visuelle : l'image et son cartouche. Le cartouche est un éditeur de
 * texte posé en absolu sur l'image — d'où le « position: relative » sur
 * l'enveloppe des widgets de la colonne, et non sur la colonne elle-même :
 * Elementor pose sa propre marge intérieure sur la colonne.
 */
/*
 * La photo remplit toute la hauteur de la colonne, et non 400 px fixes.
 *
 * Au premier montage, le cadre arrondi mesurait 613 px — la hauteur de la
 * colonne de texte d'en face — pour une photo de 400 px : une bande blanche
 * courait au-dessus, et le cartouche, ancré au bas du cadre, se détachait de
 * l'image. S'y ajoutaient les 15 px de gouttière d'Elementor, que notre
 * « padding: 0 » ne battait pas.
 *
 * Le sélecteur porte donc quatre classes, et la photo prend la hauteur du
 * cadre. Le « min-height » tient le mobile, où la colonne n'a plus de hauteur
 * à donner : une hauteur de 100 % s'y effondrerait à zéro.
 */
.ucx-sec .elementor-column.ucx-visu > .elementor-widget-wrap {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 24px 50px rgba(19, 56, 22, .16);
	padding: 0;
	margin: 12px;
	align-content: stretch;
}

.ucx-visu-img,
.ucx-visu-img .elementor-widget-container,
.ucx-visu-img figure,
.ucx-visu-img .elementor-image {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	line-height: 0;
}

.ucx-visu-img img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 400px;
	object-fit: cover;
	border-radius: 0;
	transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.ucx-visu:hover .ucx-visu-img img {
	transform: scale(1.06);
}

.ucx-cartouche {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background: linear-gradient(transparent, rgba(13, 39, 16, .92));
	padding: 34px 26px 22px;
	color: #FFFFFF;
	line-height: 1.5;
}

.ucx-cartouche b {
	display: block;
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 20px;
	color: #FFFFFF;
	background: none !important;
	text-shadow: none !important;
}

.ucx-cartouche span {
	font-size: 13.5px;
	color: #C9D6CA;
}

/* Les trois cartes « 01 / 02 / 03 ». */
.ucx-vcard > .elementor-widget-wrap {
	background: #FFFFFF;
	border: 1px solid var(--ucx-bordure);
	border-radius: var(--ucx-radius);
	padding: 28px 26px;
	height: 100%;
	align-content: flex-start;
	transition: transform var(--ucx-transition), box-shadow var(--ucx-transition), border-color var(--ucx-transition);
}

.ucx-vcard:hover > .elementor-widget-wrap {
	transform: translateY(-7px);
	box-shadow: var(--ucx-ombre);
	border-color: rgba(200, 151, 60, .55);
}

.ucx-vnum .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: var(--ucx-or);
}

.ucx-vtitre .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	color: var(--ucx-vert);
	margin: 12px 0 9px;
}

.ucx-vtexte {
	font-size: 14.5px;
	line-height: 1.7;
	color: #5A605A;
}

/* ===================================================================
 * 7. Temps forts
 *
 * Chaque carte est une colonne. Le médaillon occupe la première colonne d'une
 * grille, les cinq lignes de texte la seconde : c'est le seul moyen de poser
 * un visuel à gauche d'une pile de widgets sans une deuxième imbrication de
 * section, qu'Elementor n'autorise pas dans une section classique.
 * =================================================================== */

.ucx-forts .ucx-h2 .elementor-heading-title,
.ucx-cta .ucx-h2 .elementor-heading-title {
	color: #FFFFFF;
}

.ucx-fcard > .elementor-widget-wrap {
	display: grid;
	grid-template-columns: 92px 1fr;
	column-gap: 24px;
	align-content: flex-start;
	height: 100%;
	background: var(--ucx-vert);
	border: 1px solid #2C4A30;
	border-radius: 18px;
	padding: 32px 34px;
	transition: transform var(--ucx-transition), box-shadow var(--ucx-transition), border-color var(--ucx-transition);
}

.ucx-fcard:hover > .elementor-widget-wrap {
	transform: translateY(-7px);
	box-shadow: 0 24px 46px rgba(0, 0, 0, .3);
	border-color: rgba(200, 151, 60, .5);
}

/* Carte de la conférence inaugurale : dégradé et liseré doré. */
.ucx-fcard.ucx-star > .elementor-widget-wrap {
	background: linear-gradient(150deg, #17441B, #0F2C12);
	border-color: rgba(200, 151, 60, .45);
}

/*
 * Le médaillon reste en colonne 1, ligne 1 ; tout le reste est renvoyé en
 * colonne 2 et se range ligne après ligne par placement automatique.
 */
.ucx-fcard .ucx-fph {
	grid-column: 1;
	align-self: flex-start;
}

.ucx-fcard > .elementor-widget-wrap > .elementor-element:not(.ucx-fph) {
	grid-column: 2;
}

/* Le médaillon, qu'il porte une photo ou une icône. */
.ucx-fph img,
.ucx-fph .elementor-icon {
	width: 92px;
	height: 92px;
	border-radius: 50%;
	background: linear-gradient(150deg, #1D4A22, #0E2B12);
	border: 2px solid rgba(200, 151, 60, .45);
	transition: transform var(--ucx-transition);
}

.ucx-fph img {
	display: block;
	object-fit: cover;
	object-position: center top;
}

.ucx-fph .elementor-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	color: #E6D3A8;
}

.ucx-fcard:hover .ucx-fph img,
.ucx-fcard:hover .ucx-fph .elementor-icon {
	transform: scale(1.06);
}

.ucx-tag .elementor-heading-title {
	font-family: var(--ucx-f-cond);
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ucx-or);
}

.ucx-ftitre .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.3;
	color: #FFFFFF;
	margin: 7px 0 8px;
}

.ucx-qui {
	color: #BCCDBD;
	font-size: 14.5px;
	line-height: 1.65;
	margin-bottom: 12px;
}

/* Citation : filet doré à gauche, comme dans l'aperçu. */
.ucx-cite {
	color: #E0D5BA;
	font-size: 14.5px;
	font-style: italic;
	line-height: 1.65;
	border-left: 2px solid rgba(200, 151, 60, .5);
	padding-left: 14px;
}

/* Pastille d'horaire dorée. Le « display: table » l'ajuste au texte : une
 * pastille en bloc s'étirerait sur toute la largeur de la carte. */
.ucx-quand .elementor-heading-title {
	display: table;
	margin-top: 14px;
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 11.5px;
	line-height: 1.4;
	text-transform: uppercase;
	color: #33260C;
	background: var(--ucx-or);
	padding: 5px 13px;
	border-radius: 20px;
}

/* ===================================================================
 * 8. Cartes de panels
 * =================================================================== */

.ucx-pcard > .elementor-widget-wrap {
	position: relative;
	overflow: hidden;
	height: 100%;
	align-content: flex-start;
	background: #FFFFFF;
	border: 1px solid var(--ucx-bordure);
	border-radius: var(--ucx-radius);
	padding: 28px 26px 26px;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow var(--ucx-transition), border-color var(--ucx-transition);
}

/* Le filet doré qui se déroule de haut en bas au survol. */
.ucx-pcard > .elementor-widget-wrap::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--ucx-or);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform .35s ease;
}

.ucx-pcard:hover > .elementor-widget-wrap::before {
	transform: scaleY(1);
}

.ucx-pcard:hover > .elementor-widget-wrap {
	transform: translateY(-8px);
	box-shadow: var(--ucx-ombre-forte);
	border-color: rgba(200, 151, 60, .5);
}

/* Étiquette « Panel 1 ». */
.ucx-pnum .elementor-heading-title {
	display: table;
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	font-size: 11.5px;
	line-height: 1.4;
	color: #33260C;
	background: var(--ucx-or);
	padding: 5px 13px;
	border-radius: 6px;
}

.ucx-ptitre .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.35;
	color: var(--ucx-vert);
	margin: 14px 0 10px;
}

.ucx-pobj {
	font-size: 14.5px;
	line-height: 1.7;
	color: #5A605A;
	margin-bottom: 16px;
}

/* Filet de séparation au-dessus du modérateur — widget « divider » natif. */
.ucx-psep .elementor-divider {
	padding: 0;
}

.ucx-psep .elementor-divider-separator {
	border-top-color: #F0ECE2;
}

/*
 * Bloc du modérateur : widget « Modérateur du panel » du plugin, qui va
 * chercher la photo dans la fiche. Il apporte sa propre feuille
 * (moderateur.css, classes « ucmo- ») ; il ne reste ici qu'à l'espacer du
 * filet qui le précède.
 *
 * Une icon-box tenait ce rôle jusqu'au 10 août : l'icône remplaçait la photo,
 * faute de vouloir imposer cinq sélections manuelles dans la médiathèque. Le
 * widget rend les photos sans aucune saisie, et retombe sur les initiales pour
 * le modérateur du Panel 1, qui n'a toujours pas de portrait.
 */
.ucx-mod {
	margin-top: 15px;
}

.ucx-pquand .elementor-heading-title {
	margin-top: 14px;
	font-family: var(--ucx-f-cond);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .8px;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--ucx-gris);
}

/* ===================================================================
 * 9. Ressources
 * =================================================================== */

.ucx-rcard > .elementor-widget-wrap {
	height: 100%;
	align-content: flex-start;
	background: #FFFFFF;
	border: 1px solid var(--ucx-bordure);
	border-radius: var(--ucx-radius);
	padding: 30px 28px;
	transition: transform var(--ucx-transition), box-shadow var(--ucx-transition), border-color var(--ucx-transition);
}

.ucx-rcard:hover > .elementor-widget-wrap {
	transform: translateY(-7px);
	box-shadow: var(--ucx-ombre);
	border-color: rgba(200, 151, 60, .55);
}

.ucx-rtag .elementor-heading-title {
	display: table;
	font-family: var(--ucx-f-cond);
	text-transform: uppercase;
	letter-spacing: 1.4px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	background: var(--ucx-beige);
	color: #7A5C18;
	border: 1px solid #ECD7A6;
	padding: 4px 12px;
	border-radius: 14px;
}

.ucx-rtitre .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	color: var(--ucx-vert);
	margin: 14px 0 9px;
}

.ucx-rtexte {
	font-size: 14.5px;
	line-height: 1.7;
	color: #5A605A;
}

/*
 * Le lien de la carte est un vrai bouton Elementor — le client y pose l'URL
 * du document sans toucher au code — mais habillé en lien : ni fond, ni
 * bordure, ni marge intérieure.
 */
.ucx-rlien {
	margin-top: 16px;
}

.ucx-rlien .elementor-button {
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 11.5px;
	color: var(--ucx-or);
}

.ucx-rlien .elementor-button:hover,
.ucx-rlien .elementor-button:focus-visible {
	background: transparent;
	color: var(--ucx-or);
	transform: none;
}

.ucx-rlien .elementor-button-content-wrapper {
	gap: 7px;
	transition: gap .25s ease;
}

.ucx-rcard:hover .ucx-rlien .elementor-button-content-wrapper {
	gap: 13px;
}

/* ===================================================================
 * 9 bis. Direction scientifique
 *
 * Quatre cartes en bas de page, ajoutées le 12 août 2026 à la demande du
 * comité : le client voulait les quatre noms de la direction scientifique
 * visibles sur la page pilier. Le hero en porte la ligne (« ucx-dirsci »,
 * section 4), cette section en porte le détail — qualité, affiliation et
 * rôle dans le colloque.
 *
 * L'enveloppe passe en colonne flexible, contrairement aux quatre autres
 * familles de cartes qui se contentent du flux d'Elementor : c'est la seule
 * façon de plaquer le filet et le rôle en pied de carte quand les quatre
 * affiliations n'ont pas la même longueur. Sans cela, les filets flottent à
 * quatre hauteurs différentes et la rangée paraît bancale.
 * =================================================================== */

.ucx-dcard > .elementor-widget-wrap {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	text-align: center;
	background: #FFFFFF;
	border: 1px solid var(--ucx-bordure);
	border-radius: var(--ucx-radius);
	transition: transform var(--ucx-transition), box-shadow var(--ucx-transition), border-color var(--ucx-transition);
}

.ucx-dcard:hover > .elementor-widget-wrap {
	transform: translateY(-7px);
	box-shadow: var(--ucx-ombre);
	border-color: rgba(200, 151, 60, .55);
}

/*
 * Elementor pose 20 px sous chaque widget qui n'est pas le dernier. Dans une
 * carte de six éléments, cela s'ajoute aux marges de la feuille et écarte le
 * médaillon de sa pastille. L'espacement est donc repris ici, élément par
 * élément, comme dans l'aperçu validé.
 */
.ucx-dcard > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
	margin-bottom: 0;
}

/* Médaillon rond. Fond dégradé : il reste lisible tant que la photo n'est
 * pas posée, comme le médaillon des cartes « temps forts ». */
.ucx-dph img {
	display: block;
	width: 118px;
	height: 118px;
	margin: 0 auto;
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
	background: linear-gradient(150deg, #1D4A22, #0E2B12);
	border: 3px solid #FFFFFF;
	box-shadow: 0 10px 24px rgba(19, 56, 22, .18);
	transition: transform var(--ucx-transition);
}

.ucx-dcard:hover .ucx-dph img {
	transform: scale(1.05);
}

/* Pastille de qualité — professeur, docteur, assistant. */
.ucx-dqual .elementor-heading-title {
	display: table;
	margin: 18px auto 0;
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.6px;
	font-size: 10.5px;
	line-height: 1.4;
	color: #33260C;
	background: var(--ucx-or);
	padding: 4px 12px;
	border-radius: 6px;
}

.ucx-dnom .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.35;
	color: var(--ucx-vert);
	margin: 12px 0 8px;
}

.ucx-dtexte {
	font-size: 13.5px;
	line-height: 1.6;
	color: #5A605A;
}

/*
 * Le filet et le rôle sont plaqués en pied de carte. La marge automatique
 * porte sur le séparateur : tout ce qui le suit descend avec lui.
 */
.ucx-dcard > .elementor-widget-wrap > .ucx-dfil {
	margin-top: auto;
	padding-top: 14px;
}

.ucx-drole .elementor-heading-title {
	font-family: var(--ucx-f-cond);
	font-size: 12px;
	letter-spacing: .8px;
	text-transform: uppercase;
	line-height: 1.5;
	color: var(--ucx-or);
	margin-top: 12px;
}

/*
 * Deux cartes par rangée sur tablette. Le gabarit le demande déjà par le
 * contrôle natif « _inline_size_tablet » ; cette règle est le filet, au cas
 * où la clé serait ignorée à l'import — quatre cartes de 25 % sur 1024 px
 * donneraient des colonnes de 170 px. Les deux disent la même largeur : si le
 * contrôle passe, il n'y a pas de conflit.
 */
@media (max-width: 1024px) and (min-width: 768px) {
	.ucx-dsci .elementor-column.ucx-dcard {
		width: 50%;
	}
}

/* ===================================================================
 * 10. Bandeau d'appel à l'inscription
 * =================================================================== */

.ucx-cta {
	position: relative;
	overflow: hidden;
}

.ucx-cta::after {
	content: "";
	position: absolute;
	bottom: -300px;
	left: -160px;
	width: 560px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 151, 60, .16), transparent 70%);
	pointer-events: none;
	z-index: 0;
}

.ucx-cta > .elementor-container {
	position: relative;
	z-index: 2;
}

.ucx-cta .ucx-h2 .elementor-heading-title {
	font-size: 36px;
	margin: 12px 0 14px;
}

.ucx-cta .ucx-chapo {
	color: #D7E2D7;
	max-width: 660px;
	margin-bottom: 30px;
}

/* ===================================================================
 * 10 bis. Page Ressources
 *
 * Mêmes classes de base que le pilier — « ucx-sec », « ucx-eyebrow »,
 * « ucx-h2 », « ucx-chapo », « ucx-boutons » — d'où l'extension de cette
 * feuille plutôt qu'une seconde. Seuls les blocs propres à la page sont
 * ajoutés ici. La grille des six documents, elle, appartient au widget
 * « unico_documents » et à sa propre feuille.
 * =================================================================== */

/* En-tête de sous-page : plus bas que le hero du pilier, sans photo. */
.ucx-phero {
	position: relative;
	overflow: hidden;
}

.ucx-phero::after {
	content: "";
	position: absolute;
	bottom: -250px;
	right: -140px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 151, 60, .14), transparent 70%);
	pointer-events: none;
}

.ucx-phero > .elementor-container {
	position: relative;
	z-index: 2;
}

.ucx-phero .ucx-h1 .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 42px;
	line-height: 1.2;
	color: #FFFFFF;
	max-width: 860px;
	margin: 14px auto;
}

/* Fil d'Ariane. */
.ucx-fil {
	font-size: 14px;
	color: #B9C6BA;
}

.ucx-fil a {
	color: inherit;
	text-decoration: none;
}

.ucx-fil a:hover {
	color: var(--ucx-or);
}

/*
 * Les quatre renvois d'articles, en grille 2 × 2 dans leur colonne. Chaque
 * carte est un seul éditeur de texte : le client ajoute un cinquième article
 * en dupliquant un widget, sans toucher à la structure.
 */
.ucx-arts > .elementor-widget-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	align-content: center;
}

.ucx-art {
	background: var(--ucx-vert);
	border: 1px solid #2C4A30;
	border-radius: 12px;
	padding: 18px 20px;
	transition: transform var(--ucx-transition), border-color var(--ucx-transition);
}

.ucx-art:hover {
	transform: translateY(-5px);
	border-color: rgba(200, 151, 60, .5);
}

.ucx-art p {
	margin: 0 !important;
}

.ucx-art b {
	display: block;
	font-family: var(--ucx-f-titre);
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
	color: var(--ucx-or);
	background: none !important;
	text-shadow: none !important;
}

.ucx-art span {
	display: block;
	margin-top: 7px;
	font-size: 13.5px;
	line-height: 1.5;
	color: #C2D1C3;
}

/* Le bloc de la Revue : un encadré blanc à liseré doré. */
.ucx-revbox {
	background: #FFFFFF;
	border: 1px solid #E8E2D5;
	border-left: 5px solid var(--ucx-or);
	border-radius: 18px;
	box-shadow: 0 16px 40px rgba(19, 56, 22, .07);
	padding: 40px 44px;
}

.ucx-revnum .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 700;
	font-size: 52px;
	line-height: 1;
	color: var(--ucx-vert);
}

.ucx-revlbl .elementor-heading-title {
	font-family: var(--ucx-f-cond);
	text-transform: uppercase;
	letter-spacing: 1.6px;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ucx-or);
}

.ucx-revtitre .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 26px;
	line-height: 1.25;
	color: var(--ucx-vert);
	margin-bottom: 10px;
}

.ucx-revtxt {
	font-size: 15px;
	line-height: 1.7;
	color: #5A605A;
}

/* Section sombre du texte de référence : mêmes forçages que « temps forts ». */
.ucx-ref .ucx-h2 .elementor-heading-title {
	color: #FFFFFF !important;
	font-size: 32px;
	margin: 12px 0 16px;
}

.ucx-ref .ucx-eyebrow .elementor-heading-title {
	color: var(--ucx-or) !important;
}

.ucx-ref .ucx-texte,
.ucx-ref .ucx-texte p {
	color: #C8D5C9 !important;
	font-size: 15.5px;
}

/* ===================================================================
 * 10 ter. Page Inscription
 *
 * Toujours la même feuille : l'en-tête de sous-page, les titres, le chapeau et
 * les boutons sont ceux des deux autres pages. Seuls les trois blocs propres à
 * l'inscription s'ajoutent — les étapes, le formulaire et ses deux encarts, la
 * FAQ.
 * =================================================================== */

/* Les trois étapes. */
.ucx-sec .elementor-column.ucx-etape > .elementor-widget-wrap {
	height: calc(100% - 24px);
	margin: 12px;
	align-content: flex-start;
	background: #FFFFFF;
	border: 1px solid #E8E2D5;
	border-radius: var(--ucx-radius);
	padding: 26px;
	transition: transform var(--ucx-transition), box-shadow var(--ucx-transition), border-color var(--ucx-transition);
}

.ucx-sec .elementor-column.ucx-etape:hover > .elementor-widget-wrap {
	transform: translateY(-6px);
	box-shadow: 0 20px 40px rgba(19, 56, 22, .11);
	border-color: rgba(200, 151, 60, .55);
}

/* La pastille numérotée, qui passe au doré au survol de la carte. */
.ucx-enum .elementor-heading-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--ucx-vert);
	color: #FFFFFF;
	font-family: var(--ucx-f-titre);
	font-weight: 700;
	font-size: 19px;
	line-height: 1;
	margin-bottom: 14px;
	transition: background-color var(--ucx-transition), color var(--ucx-transition);
}

.ucx-etape:hover .ucx-enum .elementor-heading-title {
	background: var(--ucx-or);
	color: #33260C;
}

/* La carte blanche qui enveloppe le formulaire. */
.ucx-sec .elementor-column.ucx-formcard > .elementor-widget-wrap {
	margin: 12px;
	background: #FFFFFF;
	border: 1px solid var(--ucx-bordure);
	border-radius: 18px;
	padding: 38px 40px;
	box-shadow: 0 16px 40px rgba(19, 56, 22, .07);
	align-content: flex-start;
}

.ucx-formtitre .elementor-heading-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 26px;
	line-height: 1.25;
	color: var(--ucx-vert);
}

.ucx-formsub {
	color: var(--ucx-gris);
	font-size: 14px;
	margin: 8px 0 26px;
}

/*
 * Le formulaire natif d'Elementor Pro, habillé aux couleurs de l'aperçu.
 *
 * C'est le seul endroit du projet où l'on style des champs de saisie : le thème
 * d'unico.cd les repeint tous, d'où le forçage sur la bordure et le fond. Sans
 * lui, les champs prennent l'allure de ceux du reste du site, qui n'a rien à
 * voir avec la maquette validée.
 */
.ucx-form .elementor-field-group > label {
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	font-size: 12px;
	color: var(--ucx-vert);
	margin-bottom: 7px;
}

.ucx-form .elementor-field-textual {
	width: 100%;
	border: 1.5px solid #E4DFD4 !important;
	border-radius: 10px !important;
	padding: 13px 15px !important;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ucx-texte);
	background: #FFFFFF !important;
	box-shadow: none !important;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.ucx-form textarea.elementor-field-textual {
	min-height: 118px;
	resize: vertical;
}

.ucx-form .elementor-field-textual:focus {
	border-color: var(--ucx-or) !important;
	box-shadow: 0 0 0 3px rgba(200, 151, 60, .16) !important;
	outline: none;
}

/* Le bloc de consentement, sur fond beige comme dans l'aperçu. */
.ucx-form .elementor-field-type-acceptance .elementor-field-subgroup {
	background: var(--ucx-beige);
	border-radius: 12px;
	padding: 16px 18px;
}

.ucx-form .elementor-field-type-acceptance label {
	font-family: inherit;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	font-size: 13.5px;
	line-height: 1.6;
	color: #5A605A;
}

.ucx-form .elementor-field-type-acceptance input[type="checkbox"] {
	accent-color: var(--ucx-vert);
	width: 17px;
	height: 17px;
	margin-right: 10px;
}

.ucx-form .elementor-button {
	background: var(--ucx-or);
	color: #3A2A0E;
	border: 0;
	border-radius: 8px;
	padding: 15px 30px;
	font-size: 15px;
	font-weight: 500;
}

.ucx-form .elementor-button:hover {
	background: #B3862F;
	color: #3A2A0E;
	transform: translateY(-2px);
}

/* L'astérisque des champs obligatoires, en rouge brique. */
.ucx-form .elementor-mark-required .elementor-field-label::after {
	color: #B5471F;
}

/*
 * Les deux encarts de la colonne de droite.
 *
 * Ils sont chacun un **seul** éditeur de texte, titre compris, et non une
 * colonne : au premier montage, chaque encart occupait sa propre section
 * imbriquée, la seconde avec une colonne vide à gauche. « Une question ? »
 * démarrait donc sous toute la hauteur du formulaire, à 400 px de l'encart
 * vert. Réunis dans une seule colonne, les deux se suivent naturellement.
 */
.ucx-info,
.ucx-aide {
	border-radius: 18px;
	padding: 30px;
}

.ucx-info {
	background: var(--ucx-vert-sombre);
	margin-bottom: 22px;
}

.ucx-info h3 {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.25;
	color: #FFFFFF !important;
	margin: 0 0 18px !important;
}

.ucx-info p {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	margin: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: 14.5px;
	line-height: 1.5;
	color: #DBE5DB;
}

.ucx-info p:first-of-type {
	border-top: none;
	padding-top: 0;
}

.ucx-info b {
	flex: 0 0 auto;
	padding-top: 3px;
	font-family: var(--ucx-f-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	font-size: 11.5px;
	color: var(--ucx-or);
	background: none !important;
	text-shadow: none !important;
}

.ucx-info span {
	text-align: right;
}

/* Une valeur en italique signale ce qui n'est pas encore arrêté. */
.ucx-info em {
	font-style: normal;
	color: #F0DCB2;
}

/*
 * Les deux encarts de droite épousent leur contenu.
 *
 * Sans cela, la colonne d'une section Elementor s'étire à la hauteur de sa
 * voisine : l'encart vert descendait jusqu'au bas du formulaire — 833 px pour
 * 300 px de contenu — et le vert courait dans le vide. C'est une colonne, donc
 * un élément flex : « align-self » suffit, sans toucher à la hauteur.
 */
.ucx-sec .elementor-column.ucx-aside {
	align-self: flex-start;
}

/* L'encart beige « Une question ? ». */
.ucx-aide {
	background: var(--ucx-beige);
	border: 1px solid #E8E2D5;
}

.ucx-aide h4 {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.3;
	color: var(--ucx-vert);
	margin: 0 0 10px !important;
}

.ucx-aide {
	font-size: 14.5px;
	line-height: 1.7;
	color: #5A605A;
}

.ucx-aide p {
	margin-bottom: 6px;
}

.ucx-aide a {
	color: var(--ucx-vert);
	font-weight: 500;
}

.ucx-aide a:hover {
	color: var(--ucx-or);
}

/* La FAQ : accordéon natif d'Elementor, repeint. */
.ucx-faq .elementor-accordion-item {
	background: #FFFFFF;
	border: 1px solid var(--ucx-bordure) !important;
	border-radius: 14px;
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color var(--ucx-transition), box-shadow var(--ucx-transition);
}

.ucx-faq .elementor-accordion-item:hover {
	border-color: rgba(200, 151, 60, .5) !important;
}

.ucx-faq .elementor-tab-title {
	border: 0 !important;
	padding: 18px 22px;
}

.ucx-faq .elementor-accordion-title {
	font-family: var(--ucx-f-titre);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.4;
	color: var(--ucx-vert);
}

.ucx-faq .elementor-tab-title.elementor-active {
	background: var(--ucx-beige);
}

.ucx-faq .elementor-tab-content {
	border: 0 !important;
	padding: 0 22px 20px;
	font-size: 14.5px;
	line-height: 1.7;
	color: #5A605A;
}

.ucx-faq .elementor-accordion-icon {
	color: var(--ucx-or);
	float: right;
	margin: 0 0 0 12px;
	width: auto;
	font-size: 15px;
}

/*
 * Le champ d'acceptation. Elementor imprime le libellé du champ au-dessus,
 * comme pour tous les autres : la phrase de consentement se retrouvait seule
 * sur une ligne, et la case à cocher dans une boîte beige vide au-dessous. Le
 * texte passe donc dans « acceptance_text », qui s'affiche à côté de la case,
 * et le libellé du champ — vide — est masqué ici.
 */
.ucx-form .elementor-field-type-acceptance > .elementor-field-label:empty {
	display: none;
}

.ucx-form .elementor-field-type-acceptance .elementor-field-option {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.ucx-form .elementor-field-type-acceptance .elementor-field-option input[type="checkbox"] {
	margin-top: 4px;
	flex: 0 0 auto;
}

/* ===================================================================
 * 11. Écrans intermédiaires et mobiles
 *
 * Les points de rupture sont ceux de l'aperçu, et non ceux d'Elementor :
 * les cartes cassent à 1080 px, avant la tablette Elementor (1024 px).
 * =================================================================== */

@media (max-width: 1080px) {
	.ucx-hero .ucx-h1 .elementor-heading-title {
		font-size: 42px;
	}
}

@media (max-width: 900px) {
	.ucx-h2 .elementor-heading-title,
	.ucx-about .ucx-h2 .elementor-heading-title,
	.ucx-cta .ucx-h2 .elementor-heading-title {
		font-size: 27px;
	}

	.ucx-hero .ucx-h1 .elementor-heading-title {
		font-size: 32px;
	}

	.ucx-sous {
		font-size: 16px;
	}

	.ucx-visu-img img {
		height: 280px;
	}

	.ucx-cartouche {
		padding: 26px 20px 18px;
	}

	.ucx-phero .ucx-h1 .elementor-heading-title {
		font-size: 30px;
	}

	.ucx-ref .ucx-h2 .elementor-heading-title {
		font-size: 26px;
	}

	/* Les quatre renvois d'articles passent en une colonne. */
	.ucx-arts > .elementor-widget-wrap {
		grid-template-columns: 1fr;
	}

	.ucx-revbox {
		padding: 30px 24px;
		text-align: center;
	}

	/* La carte « temps fort » repasse en pile : médaillon au-dessus du texte. */
	.ucx-fcard > .elementor-widget-wrap {
		grid-template-columns: 1fr;
		row-gap: 18px;
		padding: 26px 24px;
	}

	.ucx-fcard .ucx-fph,
	.ucx-fcard > .elementor-widget-wrap > .elementor-element:not(.ucx-fph) {
		grid-column: 1;
	}

	/*
	 * La ligne de direction scientifique passe en pile : un nom par ligne, et
	 * les points médians disparaissent. Sans cela, la ligne se coupe où elle
	 * peut et un « · » esseulé finit une ligne sur deux.
	 */
	.ucx-dirsci .elementor-widget-container {
		margin-top: 22px;
		padding-top: 16px;
	}

	.ucx-dnoms {
		font-size: 14px;
		line-height: 1.9;
	}

	.ucx-dnoms b {
		display: block;
	}

	.ucx-dsep {
		display: none;
	}
}

/* ===================================================================
 * 12. Mouvement réduit
 * =================================================================== */

@media (prefers-reduced-motion: reduce) {
	.ucx-sec *,
	.ucx-sec *::before,
	.ucx-sec *::after {
		transition: none !important;
		animation: none !important;
	}

	.ucx-pcard > .elementor-widget-wrap::before {
		transform: scaleY(1);
	}
}
