/*
 * Apparence des blocs Fineec.
 * Mise en page reprise de l'accueil d'athar-finance (et de Mistral, Anthropic) :
 * contenu large (80rem, centré sur grand écran) aligné à gauche, marges de 32 px à 80 px, sections séparées
 * par des filets et non par des cartes, un très grand titre, la couleur en blocs pleins.
 * Couleurs de la piste Perenys (inspiration/versions-style/perenys/).
 * Les couleurs et tailles viennent de theme.json (var(--wp--preset--…)).
 * Règle du brief : aucun texte sous 14 px (--wp--preset--font-size--small).
 */

:root {
	--fineec-filet: #D6DDE6;
	/* Le trait du logo : bleu, vert, orange, interpolé en OKLCH (mêmes arrêts que design/logo/final/fineec-logo.svg). */
	--fineec-degrade: linear-gradient(90deg, #002B5C, #00416E 9.2%, #00587C 18.3%, #007086 27.5%, #00878B 36.7%, #009E8C 45.8%, #00B388 55%, #4FB66E 62.5%, #7BB650 70%, #A2B42D 77.5%, #C5AE00 85%, #E5A600 92.5%, #FF9E1B);
	--fineec-surface: #E8EEF5;
	--fineec-texte-sur-marine: #C8D7EA;
	--fineec-erreur: #9A4D00;
	--fineec-rayon: 6px;
	--fineec-rayon-bloc: 8px;
	--fineec-mesure: none; /* Le texte va d'une marge à l'autre (choix du 22 octobre 2026). */
	--fineec-marge: clamp(2rem, 5.6vw, 5rem); /* Comme Anthropic : 32 px sur téléphone, 80 px sur ordinateur. */
	/* Sur très grand écran, la colonne (80rem) reste centrée : la marge réelle grandit.
	   Les bandeaux qui vont d'un bord à l'autre alignent leur texte sur cette marge réelle. */
	--fineec-bord: max(var(--fineec-marge), calc((100vw - 80rem) / 2));
	--fineec-court: 160ms;
	--fineec-moyen: 280ms;
	--fineec-long: 560ms;
	--fineec-courbe: cubic-bezier(.2, .7, .2, 1);
}

html { -webkit-tap-highlight-color: transparent; }
*, *::before, *::after { box-sizing: border-box; }
body { overflow-x: clip; } /* Les blocs qui vont jusqu'au bord de l'écran ne créent pas de défilement latéral. */

/* Texte sélectionné : toujours lisible, sur fond clair comme sur fond foncé. */
::selection { background: var(--wp--preset--color--marine); color: var(--wp--preset--color--blanc); }
mark::selection { background: var(--wp--preset--color--marine); color: var(--wp--preset--color--orange); }
.fineec-carte--mise-en-avant ::selection,
.fineec-bas ::selection,
.fineec-video ::selection,
.fineec-quatre > .fineec-axe:nth-child(1) ::selection,
.fineec-quatre > .fineec-axe:nth-child(4) ::selection,
.fineec-bande-photo ::selection,
.fineec-fenetre ::selection { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--marine); }

/* Contour de focus : seulement au clavier, jamais au clic ni au toucher. */
:focus:not(:focus-visible) { outline: none; }
:focus-visible { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 3px; }

/* Colonne de 80rem centrée dans la page, et tout ce qu'elle contient aligné à gauche
   (WordPress centrerait sinon chaque élément plus étroit que la colonne). */
.fineec-page {
	max-width: calc(var(--wp--style--global--wide-size) + 2 * var(--fineec-marge));
	margin-inline: auto;
}
.fineec-page.is-layout-constrained > *,
.fineec-page .is-layout-constrained > * { margin-left: 0 !important; margin-right: 0 !important; }

/* Mesure de lecture : le texte ne s'étale pas sur toute la largeur. */
.fineec-page p,
.fineec-page li,
.fineec-page blockquote { max-width: var(--fineec-mesure); }

/* ---------- Barre du haut ---------- */
.fineec-haut {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--blanc);
	border-bottom: 1px solid var(--fineec-filet);
}
.fineec-barre {
	max-width: calc(var(--wp--style--global--wide-size) + 2 * var(--fineec-marge));
	margin-inline: auto;
	padding: 0.5rem var(--fineec-marge);
	min-height: 68px;
	gap: 1rem;
}
/* Onglets à gauche, juste après le logo ; langue à droite. */
.fineec-barre > .fineec-menu { flex: 1; margin-left: clamp(1rem, 3vw, 2.5rem); }
.fineec-menu .wp-block-navigation__container { gap: clamp(1rem, 1.7vw, 2.25rem); }
.fineec-barre > .fineec-langues { margin-left: auto; }
/* Jusqu'à 1 365 px, le logo et les sept onglets ne tiennent pas sur une ligne : menu repliable (☰), comme sur
   téléphone. WordPress ne le prévoit que sous 600 px ; on prolonge sa règle jusqu'à la tablette. */
@media (max-width: 1365px) {
	.fineec-barre > .fineec-langues { order: 2; }
	.fineec-barre > .fineec-menu { order: 3; flex: 0 0 auto; margin-left: 0.25rem; }
}
@media (min-width: 600px) and (max-width: 1365px) {
	.fineec-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.fineec-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* Logo : version compacte (sans le trait), plus petite sur téléphone pour laisser la place au menu. */
.fineec-logo { flex: 0 0 auto; margin: 0; }
.fineec-logo a { display: block; padding-block: 0.375rem; }
.fineec-logo__image { display: block; width: auto; height: 26px; }
@media (min-width: 600px) { .fineec-logo__image { height: 30px; } }
@media (min-width: 1440px) { .fineec-logo__image { height: 34px; } }

.fineec-menu a { text-decoration: none; font-weight: 600; }
.fineec-menu .wp-block-navigation-item__content {
	padding-block: 0.5rem;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
	transition: text-decoration-color var(--fineec-court) ease;
}
.fineec-menu .wp-block-navigation-item__content:hover,
.fineec-menu .current-menu-item > a,
.fineec-menu [aria-current="page"] { text-decoration-color: var(--wp--preset--color--orange); }
@media (min-width: 1366px) { .fineec-menu__email { display: none !important; } } /* Déjà dans le pied de page ; gardé dans le menu repliable. */
.fineec-menu .wp-block-navigation__responsive-container-open,
.fineec-menu .wp-block-navigation__responsive-container-close {
	min-width: 48px;
	min-height: 48px;
	justify-content: center;
	align-items: center;
}

/* Menu ouvert sur téléphone : il descend, les liens arrivent l'un après l'autre. */
.fineec-menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem var(--fineec-marge);
	animation: fineec-menu-descend var(--fineec-moyen) var(--fineec-courbe);
}
.fineec-menu .is-menu-open .wp-block-navigation__container {
	gap: 1.25rem;
	font-size: var(--wp--preset--font-size--x-large);
}
.fineec-menu .is-menu-open .wp-block-navigation-item { animation: fineec-monte var(--fineec-long) var(--fineec-courbe) both; }
.fineec-menu .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 50ms; }
.fineec-menu .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 100ms; }
.fineec-menu .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 150ms; }
.fineec-menu .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 200ms; }
.fineec-menu .is-menu-open .fineec-menu__email { font-size: var(--wp--preset--font-size--medium); }
@keyframes fineec-menu-descend { from { opacity: 0; transform: translateY(-10px); } }
@keyframes fineec-monte { from { opacity: 0; transform: translateY(10px); } }

/* Bascule FR | EN : la langue affichée est soulignée. */
.fineec-langues {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	white-space: nowrap;
}
.fineec-langues a,
.fineec-langues__actuelle {
	display: inline-block;
	padding: 0.625rem 0.375rem;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
.fineec-langues__actuelle { text-decoration-color: var(--wp--preset--color--orange); }
.fineec-langues a { color: var(--wp--preset--color--texte-2); text-decoration-color: transparent; }
.fineec-langues a:hover { color: var(--wp--preset--color--marine); text-decoration-color: currentColor; }
.fineec-langues__sep { color: var(--fineec-filet); }

/* ---------- Contenu ---------- */
.fineec-page { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.fineec-page .wp-block-post-title {
	margin-top: 0;
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 500;
	letter-spacing: -0.035em;
}

/* Mot clé surligné (format « Surligner » de l'éditeur). */
mark {
	padding: 0 0.12em;
	border-radius: 2px;
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--marine);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.fineec-apercu {
	padding: 1rem;
	border: 1px dashed var(--wp--preset--color--gris);
	font-size: var(--wp--preset--font-size--small);
}

.fineec-titre-section { font-size: var(--wp--preset--font-size--x-large); }

/* Sections de l'accueil : de l'espace, pas de boîte. */
.fineec-section { margin-top: 0; padding-top: clamp(2.5rem, 6vw, 4.5rem); }
.fineec-section > h2 { margin: 0 0 1.25rem; }

/* Ouverture de l'accueil : très grand titre à gauche, texte et actions à côté. */
.fineec-hero {
	display: grid;
	gap: 2rem;
	margin-top: 0;
	padding-block: clamp(1.5rem, 4vw, 3.5rem) 0;
}
.fineec-hero h1 {
	margin: 0;
	font-size: clamp(2.75rem, 7.4vw, 6rem);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.045em;
	max-width: 13ch;
}
.fineec-hero__cote {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.5rem;
	border-radius: var(--fineec-rayon-bloc);
	background: var(--fineec-surface);
}
.fineec-hero__cote > * { margin: 0 !important; }
.fineec-hero__cote p:first-child { font-size: 1.1875rem; line-height: 1.45; }
.fineec-hero__cote a:not(.wp-element-button) { font-weight: 600; text-underline-offset: 4px; }
@media (min-width: 960px) {
	.fineec-hero { grid-template-columns: minmax(0, 1fr) 22.5rem; align-items: end; }
	.fineec-hero__cote { padding: 2rem; }
}

/* Boutons et liens d'action */
.fineec-boutons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
}
.fineec-bouton,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.875rem 1.375rem;
	border: 0;
	border-radius: var(--fineec-rayon);
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--marine);
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--fineec-court) ease, transform var(--fineec-court) ease;
}
.fineec-bouton:hover,
.wp-element-button:hover { background: #FFB547; color: var(--wp--preset--color--marine); transform: translateY(-1px); }
.fineec-bouton:active,
.wp-element-button:active { background: #E88A00; transform: none; }
.fineec-bouton:focus-visible,
.wp-element-button:focus-visible,
.fineec-lien:focus-visible,
.fineec-carte a:focus-visible {
	outline: 2px solid var(--wp--preset--color--marine);
	outline-offset: 3px;
}
.fineec-bouton[disabled] { background: var(--fineec-surface); color: var(--wp--preset--color--texte-2); transform: none; cursor: progress; }
.fineec-lien {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
}
.fineec-lien:hover { color: var(--wp--preset--color--vert-texte); }
.fineec-retour {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}
.fineec-retour:hover { color: var(--wp--preset--color--vert-texte); }

/* Étiquettes */
.fineec-etiquettes { display: flex; flex-wrap: wrap; gap: 0.375rem; margin: 0; }
.fineec-etiquette {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	border-radius: 3px;
	background: var(--fineec-surface);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}
.fineec-etiquette--a-venir { background: var(--wp--preset--color--vert); color: var(--wp--preset--color--marine); }
.fineec-etiquette--passe { background: transparent; box-shadow: inset 0 0 0 1px var(--wp--preset--color--gris); }

/* ---------- Webinaires ---------- */
/* Une liste à filets : la date à gauche, le titre ensuite. */
.fineec-webinaires { display: grid; }
.fineec-webinaires:not(.fineec-webinaires--prochain) { border-top: 1px solid var(--fineec-filet); }
.fineec-carte {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.25rem 2rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--fineec-filet);
}
.fineec-carte > * { margin: 0 !important; }
.fineec-carte__date { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--texte-2); }
.fineec-carte__titre { font-size: var(--wp--preset--font-size--large); font-weight: 600; letter-spacing: -0.01em; }
.fineec-carte__titre a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
	transition: text-decoration-color var(--fineec-court) ease;
}
.fineec-carte:hover .fineec-carte__titre a { text-decoration-color: var(--wp--preset--color--orange); }
.fineec-carte__titre a::after { content: ""; position: absolute; inset: 0; } /* Toute la ligne est cliquable. */
.fineec-carte__meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--texte-2); }
.fineec-carte__suite { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
@media (min-width: 782px) {
	.fineec-carte:not(.fineec-carte--mise-en-avant) {
		grid-template-columns: 10rem minmax(0, 1fr) auto;
		grid-template-areas: "date titre etiq" "date meta etiq";
		align-items: baseline;
	}
	.fineec-carte:not(.fineec-carte--mise-en-avant) .fineec-carte__date { grid-area: date; }
	.fineec-carte:not(.fineec-carte--mise-en-avant) .fineec-carte__titre { grid-area: titre; }
	.fineec-carte:not(.fineec-carte--mise-en-avant) .fineec-carte__meta { grid-area: meta; }
	.fineec-carte:not(.fineec-carte--mise-en-avant) .fineec-etiquettes { grid-area: etiq; align-self: center; }
}

/* Le prochain webinaire : le seul bloc foncé du haut de page. En défilant, il
   s'élargit de la colonne jusqu'aux bords de l'écran (--fineec-p de 0 à 1, posé par
   fineec-mouvement.js). Le texte, lui, reste aligné sur la colonne. */
.fineec-prochain .fineec-carte--mise-en-avant {
	position: relative;
	left: 50%;
	box-sizing: border-box;
	width: 100vw;
	max-width: none !important;
	margin-left: -50vw !important;
	padding-inline: calc(var(--fineec-bord) + clamp(1.5rem, 4vw, 2.5rem));
	border-radius: 0;
	clip-path: inset(0 calc(var(--fineec-marge) * (1 - var(--fineec-p, 1))) round calc(8px * (1 - var(--fineec-p, 1))));
}
.fineec-carte--mise-en-avant {
	gap: 0.5rem 3rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 0;
	border-radius: var(--fineec-rayon-bloc);
	background: var(--wp--preset--color--marine);
	color: var(--wp--preset--color--blanc);
	transition: background-color var(--fineec-moyen) ease;
}
.fineec-carte--mise-en-avant:hover { background: var(--wp--preset--color--marine-clair); }
.fineec-carte--mise-en-avant .fineec-carte__date {
	font-size: clamp(1.5rem, 3.4vw, 2.5rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--blanc);
}
.fineec-carte--mise-en-avant .fineec-carte__titre,
.fineec-carte--mise-en-avant a { color: var(--wp--preset--color--blanc); }
.fineec-carte--mise-en-avant .fineec-carte__meta { color: var(--fineec-texte-sur-marine); }
.fineec-carte--mise-en-avant .fineec-carte__suite { color: var(--wp--preset--color--orange); }
.fineec-carte--mise-en-avant:hover .fineec-carte__titre a { text-decoration-color: var(--wp--preset--color--orange); }
.fineec-carte--mise-en-avant a:focus-visible { outline-color: var(--wp--preset--color--orange); }
@media (min-width: 782px) {
	.fineec-carte--mise-en-avant {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		grid-template-areas: "date titre" "date meta" "date suite";
		align-items: start;
	}
	.fineec-carte--mise-en-avant .fineec-carte__date { grid-area: date; }
	.fineec-carte--mise-en-avant .fineec-carte__titre { grid-area: titre; }
	.fineec-carte--mise-en-avant .fineec-carte__meta { grid-area: meta; }
	.fineec-carte--mise-en-avant .fineec-carte__suite { grid-area: suite; }
}
.fineec-vide { margin: 0 0 1rem; }

/* Nos valeurs : les quatre couleurs de Fineec, chacune porte une valeur (ancien site, page À propos).
   Couleur du texte choisie pour 4,5:1 au moins sur chaque fond. */
.fineec-quatre {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
}
.fineec-quatre > .fineec-axe {
	display: flex;
	flex-direction: column;
	justify-content: flex-start; /* Titres alignés en haut, quelle que soit la longueur du texte. */
	min-height: clamp(11rem, 20vw, 17rem);
	margin: 0;
	padding: clamp(1rem, 2vw, 1.75rem);
	background: var(--wp--preset--color--marine);
	color: var(--wp--preset--color--blanc);
}
.fineec-quatre > .fineec-axe:nth-child(2) { background: var(--wp--preset--color--vert); color: var(--wp--preset--color--marine); }
.fineec-quatre > .fineec-axe:nth-child(3) { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--marine); }
.fineec-quatre > .fineec-axe:nth-child(4) { background: #6E6E6E; color: var(--wp--preset--color--blanc); } /* Gris Fineec assombri : le blanc y tient 5:1. */
.fineec-quatre h3 { margin: 0 0 0.375rem; font-size: clamp(1.125rem, 2.4vw, 1.875rem); color: inherit; hyphens: auto; overflow-wrap: break-word; }
.fineec-quatre p { margin: 0; color: inherit; max-width: 22rem; }
.fineec-quatre > .fineec-axe:nth-child(1) p { color: var(--fineec-texte-sur-marine); }
@media (min-width: 960px) {
	.fineec-quatre { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* Tourniquet : les blocs pivotent sur leur axe vertical en suivant le défilement, de profil
   quand ils arrivent, de face l'un après l'autre (--fineec-tour posé par fineec-mouvement.js). */
.fineec-quatre { perspective: 1200px; }
.fineec-js .fineec-quatre > .fineec-axe.fineec-a-reveler {
	opacity: 1;
	transform: rotateY(var(--fineec-tour, 0deg));
	transform-origin: center;
	backface-visibility: hidden;
	transition: none;
}
.fineec-js .fineec-quatre > .fineec-axe.fineec-a-reveler > * { opacity: 0; transition: opacity .5s ease; transition-delay: calc(var(--fineec-delai, 0ms) + 250ms); }
.fineec-js .fineec-quatre > .fineec-axe.est-revele > * { opacity: 1; }

/* Intervenir ou devenir partenaire : bloc clair, en fin de page. */
.fineec-encart {
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
	padding: clamp(1.5rem, 4vw, 2.5rem) !important;
	border-radius: var(--fineec-rayon-bloc);
	background: var(--wp--preset--color--vert-pale);
}
.fineec-encart h2 { margin-top: 0; }

/* ---------- Page d'un webinaire ---------- */
.fineec-entete__titre {
	margin: 0.5rem 0;
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.035em;
	max-width: 22ch;
}
.fineec-entete__date { margin: 0; font-weight: 600; color: var(--wp--preset--color--texte-2); }

.fineec-video {
	max-width: 52rem;
	border-radius: var(--fineec-rayon-bloc);
	overflow: hidden;
	background: var(--wp--preset--color--marine);
	color: var(--wp--preset--color--blanc);
}
.fineec-video__repos {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.875rem;
	min-height: 240px;
	padding: 1.5rem;
}
@media (min-width: 600px) { .fineec-video__repos { aspect-ratio: 16 / 9; min-height: 0; padding: 2rem; } }
.fineec-video__repos p { margin: 0; }
.fineec-video__repos .fineec-boutons { flex-wrap: wrap; }
.fineec-video__icone { color: var(--wp--preset--color--orange); }
.fineec-video__texte { font-size: var(--wp--preset--font-size--small); max-width: 32rem; color: var(--fineec-texte-sur-marine); }
.fineec-video .fineec-lien { color: var(--wp--preset--color--blanc); }
.fineec-video .fineec-lien:hover { color: var(--wp--preset--color--orange); }
.fineec-video :focus-visible { outline-color: var(--wp--preset--color--orange) !important; }
.fineec-video__lecteur { aspect-ratio: 16 / 9; animation: fineec-apparait var(--fineec-long) var(--fineec-courbe); }
.fineec-video__lecteur iframe { display: block; width: 100%; height: 100%; border: 0; }
@keyframes fineec-apparait { from { opacity: 0; } }
.fineec-integre { margin-inline: 0; }

.fineec-page li::marker { color: var(--wp--preset--color--vert-texte); }

/* Citation (objet de l'association) */
.fineec-page blockquote.wp-block-quote {
	margin-inline: 0;
	padding: 0 0 0 1.25rem;
	border-left: 4px solid var(--wp--preset--color--orange);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
}

.fineec-intervenant {
	max-width: var(--fineec-mesure);
	padding-top: 1rem;
	border-top: 1px solid var(--fineec-filet);
}
.fineec-intervenant + .fineec-intervenant { margin-top: 1rem; }
.fineec-intervenant p { margin: 0; }
.fineec-intervenant__nom { font-weight: 700; font-size: var(--wp--preset--font-size--large); }
.fineec-intervenant__role { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--vert-texte); }
.fineec-intervenant__parcours { margin-top: 0.375rem !important; }

.fineec-voisins {
	display: grid;
	border-block: 1px solid var(--fineec-filet);
}
@media (min-width: 600px) {
	.fineec-voisins { grid-template-columns: 1fr 1fr; }
	.fineec-voisin--suiv { grid-column: 2; text-align: right; padding-left: 1.25rem; }
	.fineec-voisin--suiv:not(:first-child) { border-left: 1px solid var(--fineec-filet); }
}
.fineec-voisin {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1rem 0;
	text-decoration: none;
}
.fineec-voisin__sens { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--texte-2); }
.fineec-voisin__titre {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
	transition: text-decoration-color var(--fineec-court) ease;
}
.fineec-voisin:hover .fineec-voisin__titre { text-decoration-color: var(--wp--preset--color--orange); }

.fineec-appel p { margin: 0; }
.fineec-appel__titre { font-weight: 600; font-size: var(--wp--preset--font-size--large); margin-bottom: 0.25rem !important; }

/* ---------- Formulaire de contact ---------- */
/* Une carte seulement ici : c'est ce qu'on remplit. */
.fineec-contact__form {
	display: grid;
	gap: 1.25rem;
	position: relative;
	max-width: 40rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	border: 1px solid var(--fineec-filet);
	border-radius: var(--fineec-rayon-bloc);
	background: var(--wp--preset--color--blanc);
}
.fineec-contact__form p { margin: 0; }
.fineec-champ { display: grid; gap: 0.375rem; }
.fineec-champ label { font-weight: 600; }
.fineec-champ input,
.fineec-champ select,
.fineec-champ textarea {
	width: 100%;
	min-height: 50px;
	padding: 0.75rem 0.875rem;
	border: 1px solid var(--wp--preset--color--gris);
	border-radius: var(--fineec-rayon);
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--marine);
	font: inherit;
	font-size: var(--wp--preset--font-size--medium); /* 16 px : évite le zoom automatique sur iPhone. */
	transition: border-color var(--fineec-court) ease, box-shadow var(--fineec-court) ease;
}
.fineec-champ input:hover,
.fineec-champ select:hover,
.fineec-champ textarea:hover { border-color: var(--wp--preset--color--marine); }
.fineec-champ :focus-visible, .fineec-champ :focus { outline: none; border-color: var(--wp--preset--color--marine); box-shadow: 0 0 0 3px rgb(0 43 92 / .2); }
.fineec-champ [aria-invalid="true"] { border: 2px solid var(--fineec-erreur); }
.fineec-champ__erreur { color: var(--fineec-erreur); font-size: var(--wp--preset--font-size--small); font-weight: 600; animation: fineec-monte var(--fineec-moyen) var(--fineec-courbe); }
.fineec-contact__rgpd, .fineec-contact__direct { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--texte-2); }
.fineec-bandeau {
	padding: 0.875rem 1rem;
	border-left: 4px solid var(--fineec-erreur);
	border-radius: 0 var(--fineec-rayon) var(--fineec-rayon) 0;
	background: var(--wp--preset--color--orange-pale);
	color: var(--fineec-erreur);
	font-weight: 600;
	animation: fineec-monte var(--fineec-moyen) var(--fineec-courbe);
}
.fineec-contact__merci { padding-block: 1rem; animation: fineec-monte var(--fineec-long) var(--fineec-courbe); }
.fineec-contact__merci:focus { outline: none; }
.fineec-contact__icone { color: var(--wp--preset--color--vert-texte); }

/* ---------- Pied de page ---------- */
.fineec-bas {
	margin-top: var(--wp--preset--spacing--50);
	padding-block: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--marine-fonce);
	color: var(--fineec-texte-sur-marine);
}
.fineec-pied { display: grid; gap: 0.5rem; font-size: var(--wp--preset--font-size--small); }
.fineec-pied p { margin: 0; }
.fineec-pied__nom { margin-bottom: 0.5rem !important; }
.fineec-pied__nom .fineec-logo__image { display: block; width: min(15rem, 100%); height: auto; }
.fineec-pied__liens { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }
.fineec-pied a { display: inline-block; padding-block: 0.375rem; color: var(--wp--preset--color--blanc); }
.fineec-pied a:hover { color: var(--wp--preset--color--orange); }
.fineec-pied :focus-visible { outline-color: var(--wp--preset--color--orange) !important; }
.fineec-bas .fineec-langues { justify-self: start; }
.fineec-bas .fineec-langues a { color: var(--fineec-texte-sur-marine); }
.fineec-bas .fineec-langues a:hover { color: var(--wp--preset--color--blanc); }
.fineec-bas .fineec-langues__actuelle { color: var(--wp--preset--color--blanc); }

/* ---------- Apparition au défilement (assets/fineec-mouvement.js) ---------- */
/* Seulement quand le script tourne : sans JavaScript, tout reste visible. */
.fineec-js .fineec-a-reveler {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--fineec-long) var(--fineec-courbe), transform var(--fineec-long) var(--fineec-courbe);
	transition-delay: var(--fineec-delai, 0ms);
}
.fineec-js .fineec-a-reveler.est-revele { opacity: 1; transform: none; }

/* Lecteurs d'écran seulement */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
	.fineec-js .fineec-a-reveler { opacity: 1; transform: none; }
}

/* ---------- Bandeau défilant, d'un bord à l'autre de l'écran ---------- */
.fineec-page .fineec-defile {
	width: 100vw;
	max-width: none !important;
	margin-inline: calc(50% - 50vw) !important;
	margin-top: clamp(2rem, 5vw, 3.5rem) !important;
	overflow: hidden;
	border-block: 1px solid var(--fineec-filet);
	background: var(--wp--preset--color--blanc);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.fineec-defile__piste { display: flex; width: max-content; animation: fineec-defile 60s linear infinite; }
.fineec-defile:hover .fineec-defile__piste,
.fineec-defile:focus-within .fineec-defile__piste,
.fineec-defile.est-en-pause .fineec-defile__piste { animation-play-state: paused; }
/* Bouton pause sous le bandeau, dans la marge du texte (indispensable au doigt : pas de survol). */
.fineec-page .fineec-defile__commande { margin-top: 0.25rem !important; text-align: right; }
.fineec-defile__liste { display: flex; margin: 0; padding: 0; list-style: none; }
.fineec-defile__liste li { max-width: none !important; border-right: 1px solid var(--fineec-filet); }
.fineec-defile__liste a {
	display: block;
	padding: 1rem 1.75rem;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color var(--fineec-court) ease;
}
.fineec-defile__liste a:hover { background: var(--fineec-surface); }
@keyframes fineec-defile { to { transform: translateX(-50%); } }

/* ---------- Titre d'ouverture : les mots montent un à un (fineec-mouvement.js) ---------- */
.fineec-mot { display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.fineec-mot > span { display: inline-block; animation: fineec-mot 0.9s cubic-bezier(.22, 1, .36, 1) both; animation-delay: calc(var(--i, 0) * 80ms); }
@keyframes fineec-mot { from { transform: translateY(110%) rotate(4deg); opacity: 0; } }

/* ---------- Photos qui jouent avec le défilement (fineec-mouvement.js), comme sur athar-finance ---------- */
/* Les deux bandes vont d'un bord à l'autre de l'écran. */
.fineec-page .fineec-bande-photo,
.fineec-page .fineec-fenetre {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none !important;
	margin-left: -50vw !important;
	margin-top: clamp(2.5rem, 6vw, 4.5rem) !important;
	overflow: hidden;
}
.fineec-bande-photo figure,
.fineec-fenetre figure { margin: 0; }
.fineec-bande-photo img,
.fineec-fenetre img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* La bande : la photo recule doucement en défilant ; la phrase de l'objet à côté, sur fond foncé. */
.fineec-bande-photo {
	display: grid;
	background: var(--wp--preset--color--marine-fonce);
	color: var(--wp--preset--color--blanc);
}
.fineec-bande-photo__image {
	height: 52vh;
	min-height: 300px;
	overflow: hidden;
	/* Volet : la photo s'ouvre depuis le bord gauche de l'écran à mesure qu'on descend. */
	clip-path: inset(0 calc((1 - var(--fineec-volet, 1)) * 100%) 0 0);
}
.fineec-bande-photo__image img { transform: scale(var(--fineec-zoom, 1)); transform-origin: left center; will-change: transform; }
.fineec-bande-photo__texte {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.5rem, 6vw, 5rem) var(--fineec-bord);
}
.fineec-page .fineec-bande-photo blockquote.wp-block-quote {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 2.8vw, 2.25rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--blanc);
}
.fineec-bande-photo__texte p.has-small-font-size { margin: 0; color: var(--fineec-texte-sur-marine); }
@media (min-width: 900px) {
	.fineec-bande-photo { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); min-height: 72vh; }
	.fineec-bande-photo__image { height: auto; min-height: 0; }
	.fineec-bande-photo__texte { padding-left: clamp(2rem, 4vw, 4rem); }
}

/* La fenêtre : la photo s'ouvre en cercle depuis son centre à mesure qu'on descend. */
.fineec-fenetre {
	min-height: max(80vh, 500px);
	background: var(--wp--preset--color--marine-fonce);
	clip-path: circle(var(--fineec-cercle, 76%) at 50% 50%);
}
.fineec-fenetre__image { position: absolute; inset: 0; }
@media (max-width: 600px) { .fineec-fenetre { min-height: max(68vh, 480px); } } /* Moins haute sur téléphone : la photo est moins agrandie, donc plus nette. */
.fineec-fenetre__image img { object-position: 50% 45%; }
.fineec-fenetre::after { /* Le haut assombri : le texte blanc reste lisible sur le ciel. */
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 70%;
	background: linear-gradient(to bottom, rgb(0 30 66 / .78), rgb(0 30 66 / 0));
	pointer-events: none;
}
.fineec-fenetre__texte {
	position: relative;
	z-index: 1;
	max-width: 40rem;
	margin-inline: auto;
	padding: clamp(4rem, 12vh, 8rem) var(--fineec-marge) 2rem;
	text-align: center;
	color: var(--wp--preset--color--blanc);
}
.fineec-page .fineec-fenetre > .fineec-fenetre__texte { margin-inline: auto !important; } /* Centré, malgré l'alignement à gauche du reste. */
.fineec-fenetre__texte h2 { margin-top: 0; color: var(--wp--preset--color--blanc); font-size: clamp(1.75rem, 3.6vw, 2.75rem); font-weight: 500; letter-spacing: -0.03em; }
/* Titre centré comme le reste du bloc, sur une seule ligne dès qu'il tient entre les marges. */
.fineec-page .fineec-fenetre__texte h2 { text-align: center; text-wrap: balance; }
@media (min-width: 768px) { .fineec-page .fineec-fenetre__texte h2 { white-space: nowrap; } }
.fineec-fenetre__texte p { margin-inline: auto; color: var(--wp--preset--color--blanc); }
.fineec-fenetre__texte .wp-block-buttons { justify-content: center; }
.fineec-fenetre :focus-visible { outline-color: var(--wp--preset--color--orange) !important; }

@media (prefers-reduced-motion: reduce) {
	.fineec-fenetre { clip-path: none; }
	.fineec-bande-photo__image img { transform: none; }
	.fineec-bande-photo__image { clip-path: none; }
}

/* ---------- Effets entre la marge et le bord de l'écran, sur toutes les pages ---------- */
@property --fineec-ouverture { syntax: "<number>"; inherits: true; initial-value: 1; }

/* La page commence directement par son bandeau, collé à la barre du haut. */
.fineec-page:has(> .fineec-entete-page) { padding-top: 0; margin-top: 0 !important; }

/* En-tête des pages intérieures : bandeau marine qui s'ouvre de la colonne jusqu'aux bords
   au chargement, puis la bande aux quatre couleurs glisse depuis le bord gauche. */
.fineec-page .fineec-entete-page {
	position: relative;
	left: 50%;
	box-sizing: border-box;
	width: 100vw;
	max-width: none !important;
	margin: 0 0 clamp(2rem, 5vw, 3.5rem) -50vw !important;
	padding: clamp(2.5rem, 7vw, 5rem) var(--fineec-bord) clamp(2rem, 5vw, 3.5rem);
	background: var(--wp--preset--color--marine);
	color: var(--wp--preset--color--blanc);
	clip-path: inset(0 calc(var(--fineec-marge) * (1 - var(--fineec-ouverture))) round calc(8px * (1 - var(--fineec-ouverture))));
	animation: fineec-ouvre 1s cubic-bezier(.7, 0, .2, 1) both;
}
.fineec-page .fineec-entete-page::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 8px;
	background: linear-gradient(90deg, var(--wp--preset--color--marine-clair) 0 25%, var(--wp--preset--color--vert) 0 50%, var(--wp--preset--color--orange) 0 75%, var(--wp--preset--color--gris) 0); /* Ordre des valeurs : éthique, rigueur, innovation, synergie. */
	transform-origin: left;
	animation: fineec-bande 0.9s cubic-bezier(.7, 0, .2, 1) 0.55s both;
}
@keyframes fineec-ouvre { from { --fineec-ouverture: 0; } }
@keyframes fineec-bande { from { transform: scaleX(0); } }
.fineec-entete-page h1,
.fineec-entete-page .fineec-entete__titre { margin: 0; color: var(--wp--preset--color--blanc); max-width: 22ch; animation: fineec-monte 0.8s cubic-bezier(.22, 1, .36, 1) 0.35s both; }
.fineec-entete-page .fineec-retour { color: var(--fineec-texte-sur-marine); margin-bottom: 1rem; }
.fineec-entete-page .fineec-retour:hover { color: var(--wp--preset--color--orange); }
.fineec-entete-page .fineec-entete__date { margin-top: 0.75rem; color: var(--fineec-texte-sur-marine); }
.fineec-entete-page .fineec-etiquettes { margin-bottom: 0.75rem; }
.fineec-entete-page .fineec-etiquette { background: rgb(255 255 255 / .12); color: var(--wp--preset--color--blanc); }
.fineec-entete-page .fineec-etiquette--passe { background: transparent; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .5); }
.fineec-entete-page .fineec-etiquette--a-venir { background: var(--wp--preset--color--vert); color: var(--wp--preset--color--marine); }
.fineec-entete-page ::selection { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--marine); }
.fineec-entete-page :focus-visible { outline-color: var(--wp--preset--color--orange); }

/* Titres de section : un trait part du bord de l'écran et se dessine dans la marge jusqu'au titre. */
.fineec-page h2:not(.fineec-bande-photo h2):not(.fineec-fenetre h2):not(.fineec-entete-page h2) { position: relative; }
.fineec-js .fineec-page h2.fineec-a-reveler:not(.fineec-bande-photo h2):not(.fineec-fenetre h2):not(.fineec-entete-page h2)::before {
	content: "";
	position: absolute;
	top: 0.6em;
	right: calc(100% + 0.75rem);
	width: calc(var(--fineec-bord) - 0.75rem);
	height: 3px;
	background: var(--fineec-degrade); /* comme le trait du logo : du bleu à l'orange, vers le titre */
	border-radius: 2px;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.8s cubic-bezier(.7, 0, .2, 1) 0.1s;
}
.fineec-js .fineec-page h2.fineec-a-reveler.est-revele:not(.fineec-bande-photo h2):not(.fineec-fenetre h2):not(.fineec-entete-page h2)::before { transform: scaleX(1); }

/* Lignes de webinaires et voisins : elles arrivent depuis le bord gauche de l'écran ; le formulaire, du bord droit. */
.fineec-js .fineec-carte.fineec-a-reveler:not(.fineec-carte--mise-en-avant),
.fineec-js .fineec-voisins.fineec-a-reveler { transform: translateX(calc(-1 * var(--fineec-marge))); }
.fineec-js .fineec-contact__form.fineec-a-reveler { transform: translateX(var(--fineec-marge)); }
/* Une fois arrivé, tout reprend sa place dans la marge : cette règle doit l'emporter sur les départs ci-dessus. */
.fineec-js .fineec-a-reveler.est-revele:not(.fineec-axe) { transform: none !important; }

/* La citation de l'objet (page L'association) : bandeau qui s'élargit jusqu'aux bords en défilant. */
.fineec-page .wp-block-post-content > blockquote.wp-block-quote {
	position: relative;
	left: 50%;
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(1.5rem, 4vw, 2.5rem) -50vw !important;
	padding: clamp(2rem, 6vw, 4rem) var(--fineec-bord);
	border: 0;
	background: var(--wp--preset--color--marine);
	color: var(--wp--preset--color--blanc);
	font-size: clamp(1.25rem, 2.6vw, 2rem);
	font-weight: 500;
	line-height: 1.35;
	clip-path: inset(0 calc(var(--fineec-marge) * (1 - var(--fineec-p, 1))) round calc(8px * (1 - var(--fineec-p, 1))));
}
.fineec-page .wp-block-post-content > blockquote.wp-block-quote p { color: inherit; }
.fineec-page .wp-block-post-content > blockquote.wp-block-quote::before { color: var(--wp--preset--color--orange); }
.fineec-page .wp-block-post-content > blockquote.wp-block-quote ::selection { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--marine); }

/* Au-dessus du pied de page, comme chez Mistral : les quatre couleurs du site en larges bandes
   empilées, d'un bord à l'autre de l'écran, du gris (en haut) au bleu (posé sur le pied de page).
   De fines lignes marquent les marges. À l'arrivée à l'écran, les bandes glissent depuis les bords,
   en alternance.
   Ordre des valeurs : éthique, rigueur, innovation, synergie. */
.fineec-escalier { --bande: clamp(2.75rem, 5.5vw, 4.5rem); position: relative; display: grid; overflow: hidden; }
.fineec-escalier span { display: block; height: var(--bande); }
.fineec-escalier span:nth-child(1) { background: var(--wp--preset--color--gris); }
.fineec-escalier span:nth-child(2) { background: var(--wp--preset--color--orange); }
.fineec-escalier span:nth-child(3) { background: var(--wp--preset--color--vert); }
.fineec-escalier span:nth-child(4) { background: var(--wp--preset--color--marine-clair); }
.fineec-escalier::after { /* lignes de repère : les deux marges */
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, transparent calc(var(--fineec-bord) - 1px), rgb(255 255 255 / .22) 0, rgb(255 255 255 / .22) var(--fineec-bord), transparent 0) ,
		linear-gradient(270deg, transparent calc(var(--fineec-bord) - 1px), rgb(255 255 255 / .22) 0, rgb(255 255 255 / .22) var(--fineec-bord), transparent 0);
}
.fineec-js .fineec-escalier span { transform: scaleX(0); transform-origin: left; transition: transform 1.1s cubic-bezier(.7, 0, .2, 1); }
.fineec-js .fineec-escalier span:nth-child(even) { transform-origin: right; }
.fineec-js .fineec-escalier.est-revele span { transform: none; }
.fineec-js .fineec-escalier.est-revele span:nth-child(3) { transition-delay: 0.12s; }
.fineec-js .fineec-escalier.est-revele span:nth-child(2) { transition-delay: 0.24s; }
.fineec-js .fineec-escalier.est-revele span:nth-child(1) { transition-delay: 0.36s; }
/* La page se termine sur les bandes : plus de blanc entre le dernier bloc et elles. */
.fineec-page { padding-bottom: clamp(2rem, 5vw, 3.5rem); }
.fineec-page:has(> .wp-block-post-content > .fineec-fenetre:last-child) { padding-bottom: 0; }
.fineec-bas { margin-top: 0 !important; }

@media (prefers-reduced-motion: reduce) {
	.fineec-js .fineec-escalier span { transform: none; transition: none; }
	.fineec-page .fineec-entete-page { clip-path: none; animation: none; }
	.fineec-page .wp-block-post-content > blockquote.wp-block-quote { clip-path: none; }
}

/* ---------- La finance éthique en trois mots : carrousel (fineec-onglets.js) ----------
   Trois panneaux marine côte à côte, chacun avec son sous-titre (01 Éthique…). Ils défilent seuls :
   tout le panneau coulisse vers la gauche quand la barre du panneau en cours est pleine.
   Dessous : une barre par panneau (cliquable) et le bouton pause. */
.fineec-onglet h3 { margin: 1.5rem 0 0.5rem; font-size: var(--wp--preset--font-size--large); }
.fineec-onglet p { margin: 0 0 0.5rem; }
.fineec-onglets__fenetre { overflow: hidden; border-radius: var(--fineec-rayon-bloc); touch-action: pan-y; }
.fineec-onglets__piste { display: flex; gap: 2rem; transition: transform 0.9s cubic-bezier(.7, 0, .2, 1); }
.fineec-onglets__piste.est-glisse { transition: none; }
.fineec-onglets.est-actif .fineec-onglet {
	flex: 0 0 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	min-height: clamp(16rem, 32vw, 22rem);
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border-radius: var(--fineec-rayon-bloc);
	background: var(--wp--preset--color--marine);
	color: var(--wp--preset--color--blanc);
	transition: opacity 0.9s ease;
}
.fineec-onglets.est-actif .fineec-onglet > * { transition: opacity 0.5s ease 0.3s; }
.fineec-onglets.est-actif .fineec-onglet[aria-hidden="true"] { opacity: 0; }
.fineec-onglets.est-actif .fineec-onglet[aria-hidden="true"] > * { opacity: 0; transition-delay: 0s; }
.fineec-onglets.est-actif .fineec-onglet h3 { display: flex; align-items: baseline; gap: 0.75rem; margin: 0; color: var(--wp--preset--color--orange); font-size: var(--wp--preset--font-size--medium); font-weight: 700; letter-spacing: 0.01em; }
.fineec-onglets__num { font-variant-numeric: tabular-nums; color: var(--fineec-texte-sur-marine); font-weight: 600; }
.fineec-onglets.est-actif .fineec-onglet p:first-of-type { font-size: clamp(1.375rem, 2.8vw, 2.25rem); font-weight: 500; line-height: 1.25; letter-spacing: -0.02em; color: var(--wp--preset--color--blanc); }
@media (min-width: 768px) { .fineec-onglets.est-actif .fineec-onglet p:first-of-type { text-align: justify; hyphens: auto; -webkit-hyphens: auto; } }
.fineec-onglets.est-actif .fineec-onglet .fineec-lien { color: var(--wp--preset--color--orange); }
.fineec-onglets.est-actif .fineec-onglet ::selection { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--marine); }
.fineec-onglets.est-actif .fineec-onglet :focus-visible { outline-color: var(--wp--preset--color--orange); }

/* Commandes sous le carrousel. */
.fineec-onglets__commandes { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
.fineec-onglets__liste { display: flex; flex: 1; gap: 0.5rem; }
.fineec-onglets__bouton {
	position: relative;
	flex: 1;
	height: 44px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}
.fineec-onglets__bouton::before,
.fineec-onglets__bouton::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px; border-radius: 2px; }
.fineec-onglets__bouton::before { background: var(--fineec-filet); }
.fineec-onglets__bouton:hover::before { background: var(--wp--preset--color--gris); }
.fineec-onglets__bouton::after { background: var(--wp--preset--color--orange); transform: scaleX(0); transform-origin: left; }
.fineec-onglets__bouton[aria-selected="true"]::after { transform: scaleX(1); }
.fineec-onglets__bouton:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: 2px; }
.fineec-onglets.est-auto .fineec-onglets__bouton[aria-selected="true"]::after { animation: fineec-avance 7s linear both; animation-play-state: paused; }
.fineec-onglets.est-auto.est-visible:not(.est-en-pause):not(.est-survole):not(:has(.fineec-onglets__fenetre :focus-visible)) .fineec-onglets__bouton[aria-selected="true"]::after { animation-play-state: running; }
@keyframes fineec-avance { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.fineec-onglets__lecture,
.fineec-defile__pause {
	min-height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--texte-2);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.fineec-onglets__lecture:focus-visible,
.fineec-defile__pause:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
	.fineec-onglets__piste, .fineec-onglets.est-actif .fineec-onglet, .fineec-onglets.est-actif .fineec-onglet > * { transition: none; }
}

/* ---------- Pied de page en trois colonnes ---------- */
.fineec-pied { gap: 1.5rem; }
.fineec-pied__col { display: grid; gap: 0.375rem; align-content: start; margin: 0; padding: 0; list-style: none; }
.fineec-pied__entrees li { margin: 0; }
.fineec-pied__reseaux { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; margin-top: 0.5rem !important; }
@media (min-width: 900px) { .fineec-pied { grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; } }

@media (prefers-reduced-motion: reduce) {
	.fineec-defile__piste { animation: none; }
	.fineec-defile { overflow-x: auto; }
	.fineec-defile__commande { display: none; }
	.fineec-prochain .fineec-carte--mise-en-avant { clip-path: none; }
}

/* ---------- Listes filtrables : Blog et Ressources (fineec-filtres.js) ---------- */
/* Recherche, puis filtres avec leur nombre d'éléments, puis le nombre de résultats. */
.fineec-filtrable [hidden] { display: none !important; }
.fineec-filtres { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.fineec-filtres__recherche {
	width: 100%;
	max-width: 32rem;
	min-height: 48px;
	padding: 0.75rem 1rem 0.75rem 2.75rem;
	border: 1px solid var(--wp--preset--color--gris);
	border-radius: var(--fineec-rayon);
	background: var(--wp--preset--color--blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23002B5C' stroke-width='2'%3E%3Ccircle cx='8.5' cy='8.5' r='6'/%3E%3Cpath d='m13 13 5 5'/%3E%3C/svg%3E") no-repeat 0.875rem 50%;
	font: inherit;
	color: inherit;
}
.fineec-filtres__recherche:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: 2px; }
.fineec-filtres__recherche::placeholder { color: var(--wp--preset--color--texte-2); }
.fineec-filtres__boutons { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.fineec-filtres__bouton {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.5rem 0.875rem;
	border: 1px solid var(--fineec-filet);
	border-radius: var(--fineec-rayon);
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--marine);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--fineec-court) ease, border-color var(--fineec-court) ease;
}
.fineec-filtres__bouton span { color: var(--wp--preset--color--texte-2); font-weight: 500; }
.fineec-filtres__bouton:hover { border-color: var(--wp--preset--color--marine); }
.fineec-filtres__bouton[aria-pressed="true"] { border-color: var(--wp--preset--color--marine); background: var(--wp--preset--color--marine); color: var(--wp--preset--color--blanc); }
.fineec-filtres__bouton[aria-pressed="true"] span { color: var(--fineec-texte-sur-marine); }
.fineec-filtres__bouton:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: 2px; }
.fineec-filtres__compte { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--texte-2); }
.fineec-filtres__vide { padding: 1.5rem 0; border-top: 1px solid var(--fineec-filet); }
.fineec-filtres__vide button { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.fineec-filtrable__liste { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--fineec-filet); }
.fineec-filtrable__liste > li { max-width: none; margin: 0; }
.fineec-filtrable__liste > li > * { margin: 0; }

/* Articles : une liste à filets, comme les webinaires : la date à gauche, le titre, puis le thème
   et la durée à droite. Le plus récent est mis en avant. Toute la ligne est cliquable. */
.fineec-article-carte {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "titre titre" "resume resume" "date meta";
	gap: 0.375rem 1rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--fineec-filet);
}
.fineec-article-carte > * { margin: 0 !important; }
.fineec-article-carte__titre { grid-area: titre; font-size: var(--wp--preset--font-size--large); font-weight: 600; letter-spacing: -0.01em; max-width: 40rem; }
.fineec-article-carte__titre a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
	transition: text-decoration-color var(--fineec-court) ease;
}
.fineec-article-carte__titre a::after { content: ""; position: absolute; inset: 0; }
.fineec-article-carte:hover .fineec-article-carte__titre a { text-decoration-color: var(--wp--preset--color--orange); }
.fineec-article-carte__titre a:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: 3px; }
.fineec-article-carte__resume { grid-area: resume; max-width: 40rem; color: var(--wp--preset--color--texte-2); }
.fineec-article-carte__date,
.fineec-article-carte__meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--texte-2); }
.fineec-article-carte__date { grid-area: date; font-weight: 600; }
.fineec-article-carte__meta { grid-area: meta; }
.fineec-article-carte__meta span + span::before { content: " · "; }
@media (min-width: 900px) {
	.fineec-article-carte {
		grid-template-columns: 10rem minmax(0, 1fr) 15rem;
		grid-template-areas: "date titre meta" "date resume meta";
		column-gap: 2rem;
	}
	.fineec-article-carte__date { padding-top: 0.25rem; }
	.fineec-article-carte__meta { padding-top: 0.25rem; }
	.fineec-article-carte:not(.fineec-article-carte--une) .fineec-article-carte__meta span { display: block; }
	.fineec-article-carte:not(.fineec-article-carte--une) .fineec-article-carte__meta span + span::before { content: none; }
	/* Le plus récent : grand titre à gauche, résumé et infos à droite. */
	.fineec-article-carte--une {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		grid-template-areas: "titre resume" "titre date" "titre meta";
		align-items: start;
		padding: 2.5rem 0;
	}
	.fineec-article-carte--une .fineec-article-carte__date,
	.fineec-article-carte--une .fineec-article-carte__meta { padding-top: 0; }
}
.fineec-article-carte--une .fineec-article-carte__titre { font-size: clamp(1.5rem, 3.2vw, 2.5rem); line-height: 1.15; letter-spacing: -0.02em; max-width: 44rem; }
.fineec-article-carte--une .fineec-article-carte__resume { font-size: 1.125rem; color: inherit; }
/* Quand on filtre, plus de mise en avant : toutes les lignes se valent. */
@media (min-width: 900px) {
	.est-filtre .fineec-article-carte--une { grid-template-columns: 10rem minmax(0, 1fr) 15rem; grid-template-areas: "date titre meta" "date resume meta"; padding: 1.5rem 0; }
}
@media (min-width: 900px) {
	.est-filtre .fineec-article-carte--une .fineec-article-carte__meta span { display: block; }
	.est-filtre .fineec-article-carte--une .fineec-article-carte__meta span + span::before { content: none; }
}
.est-filtre .fineec-article-carte--une .fineec-article-carte__titre { font-size: var(--wp--preset--font-size--large); }
.est-filtre .fineec-article-carte--une .fineec-article-carte__resume { font-size: inherit; color: var(--wp--preset--color--texte-2); }
.fineec-lies .fineec-article-carte { grid-template-columns: minmax(0, 1fr); grid-template-areas: "titre" "meta"; }

/* Ressources : titre, infos (type, date, éditeur), sommaire ; l'action à droite. */
.fineec-ressource {
	display: grid;
	gap: 0.375rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--fineec-filet);
	scroll-margin-top: 6rem;
	transition: background-color 1s ease;
}
.fineec-ressource__titre { font-size: var(--wp--preset--font-size--large); font-weight: 600; letter-spacing: -0.01em; }
.fineec-ressource__meta { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--texte-2); }
.fineec-ressource__resume { max-width: var(--fineec-mesure); }
.fineec-ressource__action { margin-top: 0.5rem !important; }
.fineec-ressource__sommaire summary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.fineec-ressource__sommaire summary::-webkit-details-marker { display: none; }
.fineec-ressource__sommaire summary::before { content: "+"; display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; border: 1px solid currentColor; border-radius: 3px; line-height: 1; }
.fineec-ressource__sommaire[open] summary::before { content: "−"; }
.fineec-ressource__sommaire summary:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: 2px; }
.fineec-ressource__sommaire ul { margin: 0.25rem 0 0.5rem; padding-left: 1.25rem; display: grid; gap: 0.375rem; }
.fineec-ressource__sommaire li span { display: block; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--texte-2); }
.fineec-ressource.est-cible { background: var(--fineec-surface); box-shadow: -1rem 0 0 var(--fineec-surface), 1rem 0 0 var(--fineec-surface); }
@media (min-width: 900px) {
	.fineec-ressource { grid-template-columns: minmax(0, 1fr) auto; column-gap: 3rem; align-items: start; }
	.fineec-ressource > * { grid-column: 1; }
	.fineec-ressource__action { grid-column: 2; grid-row: 1 / span 4; margin-top: 0 !important; }
}

/* ---------- Page d'un article (fineec-article.js) ---------- */
/* Barre de lecture, au bord haut de l'écran. */
.fineec-lecture {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 100;
	height: 3px;
	background: var(--fineec-degrade); /* le trait du logo, qui s'allonge à mesure qu'on lit */
	transform: scaleX(0);
	transform-origin: left;
	pointer-events: none;
}
.admin-bar .fineec-lecture { top: var(--wp-admin--admin-bar--height, 32px); }
.fineec-article-entete__origine { margin: 1rem 0 0; font-weight: 600; color: var(--wp--preset--color--blanc); }
.fineec-entete-page .fineec-entete__date a { color: inherit; text-decoration-color: currentColor; text-underline-offset: 3px; }
.fineec-entete-page .fineec-entete__date a:hover { color: var(--wp--preset--color--orange); }
.fineec-article-entete__chapo { margin: 1rem 0 0; font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: 1.45; color: var(--fineec-texte-sur-marine); }
.fineec-article-entete__modele {
	margin: 1.25rem 0 0;
	padding-left: 0.75rem;
	border-left: 3px solid var(--wp--preset--color--orange);
	font-size: var(--wp--preset--font-size--small);
	color: var(--fineec-texte-sur-marine);
}
.fineec-article__corps .wp-block-post-content > * { max-width: var(--fineec-mesure); }
.fineec-article__corps .wp-block-post-content h2 { margin-top: 2.5rem; scroll-margin-top: 6rem; }
.fineec-article__corps .wp-block-post-content h3 { margin-top: 1.75rem; }
/* Dans un article, la citation reste dans la colonne de texte. */
.fineec-page.fineec-article .wp-block-post-content > blockquote.wp-block-quote {
	left: auto;
	width: auto;
	max-width: var(--fineec-mesure);
	margin: 2rem 0 !important;
	padding: 0 0 0 1.25rem;
	border-left: 4px solid var(--wp--preset--color--orange);
	background: none;
	color: inherit;
	font-size: var(--wp--preset--font-size--large);
	clip-path: none;
}
.fineec-article .wp-block-table { margin: 1.5rem 0; max-width: var(--fineec-mesure); overflow: visible; }
.fineec-article .wp-block-table table { width: 100%; table-layout: fixed; border-collapse: collapse; hyphens: auto; overflow-wrap: break-word; font-size: var(--wp--preset--font-size--small); }
.fineec-article .wp-block-table th,
.fineec-article .wp-block-table td { padding: 0.625rem 0.5rem; border: 0; border-bottom: 1px solid var(--fineec-filet); text-align: left; vertical-align: top; }
.fineec-article .wp-block-table thead th { border-bottom: 2px solid var(--wp--preset--color--marine); }
.fineec-renvoi { line-height: 0; }
.fineec-renvoi a { padding: 0 0.125rem; font-weight: 700; text-decoration: none; color: var(--wp--preset--color--vert-texte); }
.fineec-renvoi a:hover { text-decoration: underline; }

/* Sommaire : en tête du texte sur téléphone (replié), à côté du texte sur grand écran. */
.fineec-sommaire { margin-bottom: 1.5rem; border-block: 1px solid var(--fineec-filet); }
.fineec-sommaire summary { display: flex; align-items: center; min-height: 48px; font-weight: 700; cursor: pointer; }
.fineec-sommaire summary:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: 2px; }
.fineec-sommaire ol { margin: 0 0 1rem; padding-left: 1.25rem; display: grid; gap: 0.5rem; font-size: var(--wp--preset--font-size--small); }
.fineec-sommaire a { text-decoration: none; }
.fineec-sommaire a:hover { text-decoration: underline; }
.fineec-sommaire a[aria-current] { font-weight: 700; color: var(--wp--preset--color--vert-texte); }
@media (min-width: 1100px) {
	.fineec-article__corps.a-sommaire { display: grid; grid-template-columns: minmax(0, 1fr) 16rem; column-gap: clamp(3rem, 6vw, 6rem); align-items: start; }
	.fineec-article__corps.a-sommaire .wp-block-post-content { grid-column: 1; grid-row: 1; }
	.fineec-article__corps.a-sommaire .fineec-sommaire { grid-column: 2; grid-row: 1; position: sticky; top: 6rem; margin: 0; border-bottom: 0; }
	.fineec-sommaire summary { pointer-events: none; list-style: none; font-size: var(--wp--preset--font-size--small); }
	.fineec-sommaire summary::-webkit-details-marker { display: none; }
}

/* Sources, partage, articles liés */
.fineec-notes { max-width: var(--fineec-mesure); margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--fineec-filet); }
.fineec-notes h2 { font-size: var(--wp--preset--font-size--large); }
.fineec-notes ol { padding-left: 1.5rem; display: grid; gap: 0.625rem; font-size: var(--wp--preset--font-size--small); }
.fineec-notes li { scroll-margin-top: 6rem; }
.fineec-notes li:target { background: var(--fineec-surface); }
.fineec-notes__retour { text-decoration: none; }
.fineec-partager { margin-top: 2.5rem; }
.fineec-partager__titre { margin: 0 0 0.75rem; font-weight: 700; }
.fineec-partager button.fineec-lien { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 600; cursor: pointer; }
.fineec-partager__statut { min-height: 1.5em; margin: 0.5rem 0 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--vert-texte); }
.fineec-lies__liste { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--fineec-filet); }
.fineec-lies__liste > li { max-width: none; }
@media (min-width: 900px) {
	.fineec-lies__liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 2rem; }
}
/* Sur téléphone, les filtres tiennent sur une ligne qui défile : elle part de la marge et file jusqu'au bord de l'écran. */
@media (max-width: 781px) {
	.fineec-filtres__boutons {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: calc(-1 * var(--fineec-marge));
		padding: 0.125rem var(--fineec-marge);
		scroll-padding-inline: var(--fineec-marge);
		scrollbar-width: none;
	}
	.fineec-filtres__boutons::-webkit-scrollbar { display: none; }
	.fineec-filtres__bouton { flex: none; white-space: nowrap; }
}
/* Une action par ressource, répétée sur toute la liste : bouton à contour, l'orange reste aux appels principaux. */
.fineec-ressource__action .fineec-bouton { background: transparent; box-shadow: inset 0 0 0 2px var(--wp--preset--color--marine); }
.fineec-ressource__action .fineec-bouton:hover { background: var(--wp--preset--color--marine); color: var(--wp--preset--color--blanc); }

/* ---------- Glossaire ---------- */
/* Sommaire A-Z collé sous la barre du haut : on saute à une lettre à tout moment.
   Sur téléphone, il défile au doigt, de la marge jusqu'au bord de l'écran. */
.fineec-glossaire__lettres {
	position: sticky;
	top: 68px;
	z-index: 10;
	margin: 0 0 1rem;
	padding: 0.5rem 0;
	background: var(--wp--preset--color--fond, #F3F6FA);
	border-bottom: 1px solid var(--fineec-filet);
}
.admin-bar .fineec-glossaire__lettres { top: calc(68px + var(--wp-admin--admin-bar--height, 32px)); }
.fineec-glossaire__lettres ul { display: flex; gap: 0.125rem; margin: 0; padding: 0; list-style: none; }
.fineec-glossaire__lettres li { max-width: none; margin: 0; }
.fineec-glossaire__lettres a,
.fineec-glossaire__lettres span {
	display: inline-grid;
	place-items: center;
	min-width: 2.25rem;
	min-height: 2.75rem;
	border-radius: var(--fineec-rayon);
	font-weight: 700;
	text-decoration: none;
}
.fineec-glossaire__lettres a:hover { background: var(--fineec-surface); }
.fineec-glossaire__lettres a:focus-visible { outline: 2px solid var(--wp--preset--color--marine); outline-offset: -2px; }
.fineec-glossaire__lettres span,
.fineec-glossaire__lettres a.est-vide { color: var(--fineec-filet); pointer-events: none; }
@media (max-width: 1199px) {
	.fineec-glossaire__lettres { margin-inline: calc(-1 * var(--fineec-marge)); padding-inline: var(--fineec-marge); overflow-x: auto; scrollbar-width: none; }
	.fineec-glossaire__lettres::-webkit-scrollbar { display: none; }
	.fineec-glossaire__lettres ul { width: max-content; }
	.fineec-glossaire__lettres span { display: none; } /* Sur téléphone, seulement les lettres utiles. */
}
.fineec-glossaire__groupe { scroll-margin-top: 8.5rem; border-top: 1px solid var(--fineec-filet); }
.fineec-glossaire__groupe :is(h2, h3) { margin: 1.5rem 0 0.5rem; font-size: var(--wp--preset--font-size--x-large); color: var(--wp--preset--color--vert-texte); }
.fineec-glossaire dl { margin: 0 0 1.5rem; }
.fineec-terme { padding: 1rem 0; scroll-margin-top: 8.5rem; }
.fineec-terme + .fineec-terme { border-top: 1px solid var(--fineec-filet); }
.fineec-terme dt { font-size: var(--wp--preset--font-size--large); font-weight: 700; }
.fineec-terme dfn { font-style: normal; }
.fineec-terme__arabe { margin-left: 0.5rem; font-weight: 500; text-align: left; unicode-bidi: isolate; color: var(--wp--preset--color--texte-2); }
.fineec-terme dd { margin: 0.375rem 0 0; }
.fineec-terme dd p { margin: 0 0 0.375rem; }
.fineec-terme__voir,
.fineec-terme__famille { font-size: var(--wp--preset--font-size--small); }
/* Exemple : un filet vert, comme une note dans la marge de la définition. */
.fineec-page .fineec-terme__exemple { margin: 0.5rem 0 0.625rem; padding: 0.375rem 0 0.375rem 0.875rem; border-left: 3px solid var(--wp--preset--color--vert); text-align: left; }
.fineec-terme__exemple span { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 700; color: var(--wp--preset--color--vert-texte); }
.fineec-terme__famille { color: var(--wp--preset--color--texte-2); }
.fineec-terme.est-cible { background: var(--fineec-surface); box-shadow: -1rem 0 0 var(--fineec-surface), 1rem 0 0 var(--fineec-surface); }
/* Sur grand écran : le terme à gauche, la définition à droite. */
@media (min-width: 900px) {
	.fineec-terme { display: grid; grid-template-columns: 18rem minmax(0, 1fr); column-gap: 3rem; }
	.fineec-terme dd { margin: 0; }
	.fineec-terme__arabe { display: block; margin: 0.25rem 0 0; }
}
.fineec-js .fineec-page .fineec-glossaire h2.fineec-a-reveler::before { content: none !important; }

/* Terme du glossaire dans un article : souligné en pointillé, définition dans une bulle. */
a.fineec-terme-lien { text-decoration: underline dotted; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
a.fineec-terme-lien:hover { text-decoration-style: solid; }
.fineec-bulle {
	position: absolute;
	z-index: 60;
	padding: 1rem 1.125rem;
	border-radius: var(--fineec-rayon-bloc);
	background: var(--wp--preset--color--marine);
	color: var(--wp--preset--color--blanc);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	box-shadow: 0 8px 24px rgb(0 43 92 / .25);
}
.fineec-bulle p { margin: 0 0 0.5rem; color: inherit; }
.fineec-bulle__terme { font-weight: 700; }
.fineec-bulle a { color: var(--wp--preset--color--orange); font-weight: 600; }
.fineec-bulle a:focus-visible { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 2px; }

/* Les photos des bandes vont d'un bord à l'autre : la largeur maximale de la colonne ne s'y applique pas. */
.fineec-page .fineec-fenetre > *,
.fineec-page .fineec-bande-photo > * { max-width: none !important; }
.fineec-page .fineec-fenetre > .fineec-fenetre__texte { max-width: 48rem !important; }

/* Article : texte plus large, sommaire à droite. */
.fineec-article__corps .wp-block-post-content > * { max-width: none; }
@media (min-width: 1100px) {
	.fineec-article__corps.a-sommaire { grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem); }
}

/* ---------- Contact : coordonnées à gauche, formulaire à droite ---------- */
.fineec-contact-page { display: grid; gap: 2.5rem; }
.fineec-contact-page__infos h2 { margin-top: 0; font-size: var(--wp--preset--font-size--large); }
.fineec-contact-page__infos dl { display: grid; gap: 1rem; margin: 0; }
.fineec-contact-page__infos dt { font-size: var(--wp--preset--font-size--small); font-weight: 700; color: var(--wp--preset--color--texte-2); }
.fineec-contact-page__infos dd { margin: 0.125rem 0 0; }
.fineec-contact-page .fineec-contact__form { max-width: none; }
@media (min-width: 1000px) {
	.fineec-contact-page { grid-template-columns: minmax(12rem, 1fr) minmax(0, 2fr); column-gap: clamp(3rem, 6vw, 6rem); align-items: start; }
	.fineec-contact-page > .fineec-contact { grid-column: 2; grid-row: 1; }
	.fineec-contact-page > .fineec-contact-page__infos { grid-column: 1; grid-row: 1; position: sticky; top: 6rem; }
}

/* Accueil : derniers articles, trois colonnes sur grand écran. */
.fineec-derniers .fineec-article-carte { grid-template-columns: minmax(0, 1fr); grid-template-areas: "titre" "resume" "meta"; align-content: start; }
:is(.fineec-derniers, .fineec-vide) + p { margin-top: 1.25rem; }
:is(.fineec-derniers, .fineec-vide) + p a { margin-right: 1.5rem; }

/* ---------- Texte justifié, d'une marge à l'autre ----------
   Les paragraphes et les listes occupent toute la largeur. Ils sont justifiés à partir de 768 px de large :
   sur téléphone, la ligne est trop courte et la justification ouvre de grands blancs entre les mots.
   Les grands textes d'affiche (citations) et les blocs centrés restent alignés comme avant. */
@media (min-width: 768px) {
	.fineec-page p,
	.fineec-page li,
	.fineec-page dd { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
}
.fineec-page blockquote p,
.fineec-page .fineec-fenetre__texte p,
.fineec-page .fineec-hero h1,
.fineec-page [class*="__meta"],
.fineec-page [class*="__date"],
.fineec-page .fineec-boutons,
.fineec-page .wp-block-buttons,
/* Colonnes étroites : justifier y ferait de grands blancs entre les mots. */
.fineec-page .fineec-quatre p,
.fineec-page .fineec-hero__cote p,
.fineec-page .fineec-derniers p,
.fineec-page .fineec-lies p,
/* En-tête d'article : chapô, « D'après » et mention d'exemple sont des lignes d'affiche, pas du texte courant. */
.fineec-page .fineec-article-entete p,
.fineec-page .fineec-contact-page__infos dd,
.fineec-page .fineec-sommaire li { text-align: left; hyphens: manual; }
.fineec-page .fineec-fenetre__texte p { text-align: center; }
.fineec-article-carte__titre,
.fineec-article-carte__resume,
.fineec-ressource__resume { max-width: none !important; }
/* Pas d'espace automatique de WordPress entre le contenu et les bandes du pied de page. */
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }

/* ---------- Rien n'est coupé ----------
   Titres : alignés à gauche, sans coupure de mot. Liens et boutons : jamais coupés par un tiret ;
   les boutons et liens d'action courts tiennent sur une seule ligne. */
.fineec-page :is(h1, h2, h3, h4, h5, h6, dt) { text-align: left; hyphens: manual; -webkit-hyphens: manual; }
a, button, summary, label { hyphens: manual; -webkit-hyphens: manual; }
.fineec-bouton,
.wp-element-button,
.fineec-lien,
.fineec-retour,
.fineec-filtres__bouton,
.fineec-onglets__lecture,
.fineec-defile__pause,
.fineec-langues a { white-space: nowrap; }
/* Liens en ligne (« Tous les articles », « Le glossaire »…) : rangés en ligne, passent à la ligne entre eux. */
/* Avec ou sans articles (la liste vide est un simple paragraphe). */
:is(.fineec-derniers, .fineec-vide) + p { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; text-align: left; }
:is(.fineec-derniers, .fineec-vide) + p a { margin: 0; }

/* ---------- Affiche d'un webinaire (flyer) ----------
   Sur ordinateur, dans une colonne à droite du programme, et elle suit la lecture ; sur téléphone, sous les
   intervenants. Cadre arrondi et ombre douce comme les blocs du site ; « Agrandir » apparaît au survol. */
.fineec-webinaire__corps { display: grid; gap: clamp(2rem, 5vw, 3.5rem); }
.fineec-webinaire__texte > :first-child { margin-top: 0; }
.fineec-page .fineec-affiche { margin: 0; max-width: 24rem; }
.fineec-affiche__lien { position: relative; display: block; border-radius: var(--fineec-rayon-bloc); overflow: hidden; box-shadow: 0 1px 2px rgb(0 43 92 / .08), 0 12px 32px -12px rgb(0 43 92 / .35); transition: transform var(--fineec-moyen) var(--fineec-courbe), box-shadow var(--fineec-moyen) ease; }
.fineec-affiche__image { display: block; width: 100%; height: auto; }
.fineec-affiche__agrandir {
	position: absolute; right: 0.75rem; bottom: 0.75rem;
	padding: 0.375rem 0.75rem; border-radius: var(--fineec-rayon);
	background: var(--wp--preset--color--marine); color: var(--wp--preset--color--blanc);
	font-size: var(--wp--preset--font-size--small); font-weight: 600;
	opacity: 0; transform: translateY(4px); transition: opacity var(--fineec-court) ease, transform var(--fineec-court) ease;
}
.fineec-affiche__lien:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgb(0 43 92 / .1), 0 20px 40px -14px rgb(0 43 92 / .45); }
.fineec-affiche__lien:hover .fineec-affiche__agrandir,
.fineec-affiche__lien:focus-visible .fineec-affiche__agrandir { opacity: 1; transform: none; }
.fineec-affiche__lien:focus-visible { outline: 3px solid var(--wp--preset--color--orange); outline-offset: 3px; }
.fineec-affiche figcaption { margin-top: 0.75rem; color: var(--wp--preset--color--texte-2); font-size: var(--wp--preset--font-size--small); }
@media (hover: none) { .fineec-affiche__agrandir { opacity: 1; transform: none; } } /* Au doigt, pas de survol : toujours visible. */
@media (min-width: 1000px) {
	.fineec-webinaire__corps:has(> .fineec-affiche) { grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem); align-items: start; }
	.fineec-page .fineec-affiche { position: sticky; top: calc(68px + 2rem); }
}
@media (prefers-reduced-motion: reduce) { .fineec-affiche__lien, .fineec-affiche__agrandir { transition: none; } .fineec-affiche__lien:hover { transform: none; } }

/* Affiche en grand. */
.fineec-visionneuse { max-width: min(94vw, 62rem); max-height: 94vh; padding: 0; border: 0; background: transparent; overflow: visible; }
.fineec-visionneuse::backdrop { background: rgb(0 20 45 / .86); }
.fineec-visionneuse img { display: block; max-width: 100%; max-height: calc(94vh - 3.5rem); width: auto; height: auto; margin-inline: auto; border-radius: var(--fineec-rayon-bloc); }
.fineec-visionneuse__fermer {
	display: block; min-height: 44px; margin: 0 0 0.75rem auto; padding: 0.5rem 1rem; border: 0; border-radius: var(--fineec-rayon);
	background: var(--wp--preset--color--blanc); color: var(--wp--preset--color--marine); font: inherit; font-weight: 700; cursor: pointer;
}
.fineec-visionneuse__fermer:focus-visible { outline: 3px solid var(--wp--preset--color--orange); outline-offset: 2px; }

/* ---------- Page Glossaire : deux glossaires et le tableau des normes AAOIFI ---------- */
/* Liens vers chaque partie de la page, en tête. */
.fineec-page .fineec-ancres { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; text-align: left; }
.fineec-page .fineec-ancres a { font-weight: 600; }
.fineec-page .fineec-glossaire-partie { scroll-margin-top: 6rem; }

/* Tableau : trois colonnes sur ordinateur ; sur téléphone, chaque famille devient un petit bloc. */
.fineec-aaoifi table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.fineec-aaoifi th { text-align: left; font-weight: 700; color: var(--wp--preset--color--marine); border-bottom: 2px solid var(--wp--preset--color--marine); padding: 0.625rem 0.75rem 0.625rem 0; }
.fineec-aaoifi td { vertical-align: top; padding: 0.75rem 0.75rem 0.75rem 0; border-bottom: 1px solid var(--fineec-filet); text-align: left; hyphens: manual; }
.fineec-aaoifi td:first-child { font-weight: 700; color: var(--wp--preset--color--marine); width: 30%; }
.fineec-aaoifi td:nth-child(2) { width: 22%; font-variant-numeric: tabular-nums; color: var(--wp--preset--color--texte-2); white-space: nowrap; }
.fineec-aaoifi figcaption { margin-top: 0.75rem; color: var(--wp--preset--color--texte-2); font-size: var(--wp--preset--font-size--small); text-align: left; }
@media (max-width: 699px) {
	.fineec-aaoifi thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.fineec-aaoifi table, .fineec-aaoifi tbody, .fineec-aaoifi tr, .fineec-aaoifi td { display: block; width: auto !important; }
	.fineec-aaoifi tr { padding: 0.875rem 0; border-bottom: 1px solid var(--fineec-filet); }
	.fineec-aaoifi td { padding: 0; border: 0; white-space: normal !important; }
	.fineec-aaoifi td:nth-child(2) { margin: 0.125rem 0 0.375rem; }
}
.fineec-aaoifi :is(th, td) { border-top: 0; border-left: 0; border-right: 0; } /* seulement les filets horizontaux, comme le reste du site */
.fineec-filtrable__liste > .fineec-glossaire__groupe:first-child { border-top: 0; } /* le sommaire A-Z a déjà son filet */

/* Réseaux de la page Contact : passent à la ligne entre eux, jamais au milieu d'un nom. */
.fineec-contact-page__reseaux { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }
