/* Polices auto-hébergées (woff2). Changa : variable 200-800. Charis SIL : statique 400/700 + italiques.
   Les url() sont relatives et SANS guillemets : la réécriture de publier.sh en dépend. */
@font-face{ font-family:'Changa'; font-style:normal; font-weight:200 800; font-display:swap;
	src:url(../fonts/changa-latin-ext.woff2) format('woff2');
	unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Changa'; font-style:normal; font-weight:200 800; font-display:swap;
	src:url(../fonts/changa-latin.woff2) format('woff2');
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

@font-face{ font-family:'Charis SIL'; font-style:normal; font-weight:400; font-display:swap; src:url(../fonts/charis-sil-400-latin.woff2) format('woff2'); }
@font-face{ font-family:'Charis SIL'; font-style:italic; font-weight:400; font-display:swap; src:url(../fonts/charis-sil-400-italic-latin.woff2) format('woff2'); }
@font-face{ font-family:'Charis SIL'; font-style:normal; font-weight:700; font-display:swap; src:url(../fonts/charis-sil-700-latin.woff2) format('woff2'); }
@font-face{ font-family:'Charis SIL'; font-style:italic; font-weight:700; font-display:swap; src:url(../fonts/charis-sil-700-italic-latin.woff2) format('woff2'); }

/*
Theme Name: fc-iluo
Theme URI: https://greta-gipfcip-guyane.fr/
Author: Le Fil des Compétences
Description: Thème code-pur du Fil des Compétences — le carré ILUO qui se ferme. Mode clair uniquement.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: fc-iluo
*/

/* Les styles du site vivent dans assets/css/app.css (assemblé en assets/css/tout.css au déploiement). */

/*
 * BLOC FIGÉ — ARTICLE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-article*` /
 * `.cdw-fil-ariane` / `.cdw-a-lire` / `.cdw-carte*` (renommées `.sbt-*` ici).
 * Couleurs/polices/espacements uniquement en `var(--sb-*, repli)` : un site neuf peut
 * utiliser ce fichier tel quel sans avoir encore défini ses propres variables.
 *
 * INTERDIT DE MODIFIER : voir single-article.php (un seul <article>, « à lire aussi »
 * en <div>). LIBRE DE MODIFIER : toutes les valeurs des var() ci-dessous.
 */

.sbt-conteneur{ max-width: var(--sb-conteneur, 1240px); margin-inline: auto; padding-inline: var(--sb-gouttiere, 24px); }

.sbt-fil-ariane{ font-size: .8125rem; color: var(--sb-doux, #55607a); display: flex; gap: 6px; flex-wrap: wrap; padding-block: 16px; }
.sbt-fil-ariane a{ color: var(--sb-doux, #55607a); text-decoration: none; }
.sbt-fil-ariane a:hover{ color: var(--sb-encre, #0f172a); }

.sbt-article-entete{ max-width: var(--sb-lecture, 720px); margin-inline: auto; padding-block: 8px 24px; }
.sbt-article-pastille{
	display: inline-block; background: var(--sb-surf, #f4f5fa); color: var(--sb-encre, #0f172a);
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: .75rem;
	text-transform: uppercase; letter-spacing: .04em; padding: 6px 12px; border-radius: 999px; margin-bottom: 16px;
	text-decoration: none;
}
.sbt-article-entete h1{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); line-height: 1.15; margin: 0; }
.sbt-article-chapo{ font-family: var(--sb-texte, 'Inter', system-ui, sans-serif); font-style: italic; font-size: clamp(1.0625rem,1rem + .3vw,1.3125rem); color: var(--sb-doux, #55607a); margin-top: 16px; }
.sbt-article-meta{ display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; font-size: .875rem; color: var(--sb-doux, #55607a); }
.sbt-article-meta img{ width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.sbt-article-meta-auteur{ color: inherit; font-weight: 600; text-decoration: none; }

.sbt-article-une{ max-width: var(--sb-conteneur, 1240px); margin: 28px auto 32px; padding-inline: var(--sb-gouttiere, 24px); }
.sbt-article-une-cadre{ aspect-ratio: 2.4 / 1; max-height: min(520px, 46vh); overflow: hidden; /* 01/10 : à 1440×900 le texte passait sous la ligne de flottaison (B-ART-09) */ border-radius: var(--sb-rayon, 14px); box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); }
.sbt-article-une-cadre img{ width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px){ .sbt-article-une-cadre{ aspect-ratio: auto; height: 220px; max-height: 220px; } }

/* Grille corps + rail — align-items:start obligatoire pour que le rail sticky
   (cf. partial-sidebar.css) tienne sur toute la hauteur du contenu. */
.sbt-article-mise-en-page{
	display: grid; grid-template-columns: minmax(0, var(--sb-lecture, 720px)) var(--sb-rail, 340px);
	column-gap: var(--sb-gouttiere, 24px); row-gap: var(--sb-gouttiere, 24px);
	max-width: var(--sb-conteneur, 1240px); margin-inline: auto;
	padding: 32px var(--sb-gouttiere, 24px) 64px; align-items: start; justify-content: center;
}
@media (max-width: 1080px){ .sbt-article-mise-en-page{ grid-template-columns: minmax(0,1fr); } .sbt-article-principal, .sbt-rail{ min-width: 0; } }
.sbt-article-mise-en-page--suite{ padding-top: 0; }

.sbt-article-corps{ font-size: 1.0625rem; line-height: 1.7; color: var(--sb-encre, #0f172a); font-family: var(--sb-texte, 'Inter', system-ui, sans-serif); }
.sbt-article-corps h2{ margin-top: 2.2em; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-article-corps h3{ margin-top: 1.8em; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-article-corps p{ margin-bottom: 1.3em; }
.sbt-article-corps img{ border-radius: var(--sb-rayon, 14px); margin-block: 1.6em; width: 100%; height: auto; }
.sbt-article-corps blockquote{
	margin: 1.8em 0; padding: 18px 24px; border-left: 4px solid var(--sb-accent, #2563eb);
	background: var(--sb-surf, #f4f5fa); border-radius: 8px; font-style: italic;
}

/* Sommaire replié en accordéon sur mobile uniquement (en desktop, il vit dans le rail —
   cf. partial-sidebar.php / partial-sommaire.php). */
.sbt-sommaire-mobile{ display: none; }
@media (max-width: 1080px){ .sbt-sommaire-mobile{ display: block; margin-bottom: 24px; } }
/* 01/10/2026 (baliturismo, juge visuel) : sous 1080px le rail passe SOUS l'article ; sa carte sommaire
   faisait doublon avec le sommaire mobile de tête (erreur n°6 « sommaire en double »). */
@media (max-width: 1080px){ .sbt-rail-carte--sommaire{ display: none; } }

/* « À lire aussi » (toujours un <div>, jamais un <article> — cf. single-article.php) */
.sbt-a-lire{ margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--sb-filet, #e2e5ef); }
.sbt-kicker{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .9375rem; font-weight: 700; margin-bottom: 12px; }
.sbt-grille{ display: grid; gap: var(--sb-gouttiere, 24px); }
.sbt-grille--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 760px){ .sbt-grille--3{ grid-template-columns: 1fr; } }
.sbt-carte{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-radius: var(--sb-rayon, 14px); overflow: hidden; box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08));
	transition: transform .2s ease, box-shadow .2s ease;
}
.sbt-carte:hover{ transform: translateY(-4px); box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); }
.sbt-carte a{ display: block; color: inherit; text-decoration: none; }
.sbt-carte img{ width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.sbt-carte-corps{ padding: 18px; }
.sbt-carte-corps h3{ margin: 0; font-size: 1.0625rem; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }

.sbt-article-commentaires{ margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--sb-filet, #e2e5ef); }

/* 01/10 (accessoiriste.net) : un seul sommaire visible par largeur — la carte du rail se masque quand l'accordéon mobile s'affiche. */
@media (max-width: 1080px){ .sbt-rail-carte--sommaire{ display: none; } }
/* 05/10 (operations-digestives, juge visuel) : sous-titres collés au paragraphe suivant (marge basse 0 px mesurée) */
.sbt-article-corps h2{ margin-bottom: .6em; }
.sbt-article-corps h3{ margin-bottom: .45em; }

/*
 * BLOC FIGÉ — BARRE LATÉRALE D'ARTICLE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-rail` / `.cdw-rail-carte`
 * (lignes ~854-861, renommées `.sbt-rail*` ici) — commentaire garde-fou d'origine
 * CONSERVÉ TEL QUEL ci-dessous (règle la plus importante de ce bloc).
 *
 * Inspiration secondaire documentée (pas copiée en entier) : amatauto.fr fait basculer
 * sa colonne latérale en bloc STATIQUE empilé sous le texte à partir de 1100px
 * (assets/css/v2.css, `.a2-art__cote { position: sticky; ... }` +
 * `@media (max-width: 1100px) { .a2-art__cote { position: static; } }`) — repris ici en
 * option mobile (media query 1080px, cohérente avec le point de rupture de
 * `.sbt-article-mise-en-page` dans single-article.css).
 */

/* Rail sticky — collé à la colonne de texte, séparation par un filet interne, jamais un
   gap blanc entre les deux colonnes. */
.sbt-rail{
	position: sticky; top: 96px; align-self: start;
	display: flex; flex-direction: column; gap: 20px;
	border-left: 1px solid var(--sb-filet, #e2e5ef); padding-left: 20px;
}
/* ⛔ GARDE-FOU (conservé tel quel depuis curieux-du-web.com, retour Mathias ×3) : jamais
   de overflow-y ni de max-height ici — la colonne reste collante et accompagne TOUTE la
   lecture de l'article jusqu'en bas, sans sa propre barre de défilement interne. */
.sbt-rail-carte{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-radius: var(--sb-rayon, 14px); padding: 18px;
}
.sbt-rail-carte .sbt-t4, .sbt-rail-carte h4{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .875rem;
	text-transform: uppercase; letter-spacing: .04em; color: var(--sb-doux, #55607a); margin: 0 0 10px;
}

/* Option mobile (inspirée d'amatauto.fr, cf. en-tête) : sous 1080px, la grille parente
   passe déjà en une colonne (cf. .sbt-article-mise-en-page dans single-article.css) — le
   rail redevient donc naturellement un bloc statique empilé sous le texte. */
@media (max-width: 1080px){
	.sbt-rail{ position: static; border-left: 0; padding-left: 0; border-top: 1px solid var(--sb-filet, #e2e5ef); padding-top: 20px; }
}

/* Sommaire tel qu'affiché dans le rail (cf. partial-sommaire.css pour le détail des
   classes `.sbt-sommaire*`) : pas de style supplémentaire ici, la carte du rail suffit. */

/*
 * BLOC FIGÉ — SOMMAIRE (thématique) — CSS
 * CSS volontairement simple (voir partial-sommaire.php : la robustesse de ce bloc est
 * dans le PHP — ids séquentiels, exclusion FAQ/Sources, seuil de 3 titres — pas dans son
 * habillage). Inspiré du rendu `<details>` natif de health-nutrition-cambrai.fr
 * (« Bien Vivre Santé »), classes renommées `.sbt-sommaire*`.
 */

.sbt-sommaire{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-left: 4px solid var(--sb-accent, #2563eb); border-radius: var(--sb-rayon, 14px);
	padding: 16px 20px;
}
.sbt-sommaire-titre{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700;
	font-size: .9375rem; cursor: pointer; list-style: none;
}
.sbt-sommaire-titre::-webkit-details-marker{ display: none; }
.sbt-sommaire ol{ list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sbt-sommaire li a{
	display: flex; align-items: baseline; gap: 10px; font-size: .9375rem;
	color: var(--sb-encre, #0f172a); text-decoration: none;
}
.sbt-sommaire li a:hover{ color: var(--sb-accent, #2563eb); text-decoration: underline; }
.sbt-sommaire-num{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: .75rem;
	color: var(--sb-encre, #0f172a); background: var(--sb-surf, #f4f5fa); border-radius: 50%;
	width: 20px; height: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}

/*
 * BLOC FIGÉ — ENCADRÉS « LE SAVIEZ-VOUS » / « POINTS À RETENIR » (thématique) — CSS
 * Origine : amatauto.fr, assets/css/v2.css, règles `.amat-encadre--retenir` / `.a2-saviez`
 * (renommées `.sbt-encadre--retenir` / `.sbt-encadre--saviez` ici). Habillage simplifié
 * (gradients/decorations ::before retirés pour rester générique et léger), la structure
 * (grille icône + texte pour « le saviez-vous », liste à puces pour « points à retenir »)
 * est conservée.
 */

.sbt-encadre{ margin-block: 2em; border-radius: var(--sb-rayon-grand, 22px); }

.sbt-encadre-titre{
	margin: 0 0 12px; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif);
	font-weight: 700; font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em;
}

/* « Points à retenir » — fond foncé, liste à puces check. */
.sbt-encadre--retenir{
	background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #ffffff);
	padding: 28px 30px;
}
.sbt-encadre--retenir .sbt-encadre-titre{ color: var(--sb-accent-clair, #93c5fd); }
.sbt-retenir-liste{ list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sbt-retenir-liste li{
	position: relative; padding-left: 32px; font-size: 1rem; line-height: 1.55;
}
.sbt-retenir-liste li::before{
	content: ""; position: absolute; left: 0; top: .15em; width: 20px; height: 20px; border-radius: 50%;
	background: var(--sb-accent, #2563eb)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")
		center / 12px no-repeat;
}

/* « Le saviez-vous ? » — encadré clair, icône ampoule. */
.sbt-encadre--saviez{
	display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start;
	padding: 22px 24px; background: var(--sb-surf, #f4f5fa);
}
.sbt-encadre--saviez::before{
	content: "?"; grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 14px;
	background: var(--sb-accent, #2563eb); color: #fff; display: flex; align-items: center; justify-content: center;
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: 1.375rem;
}
.sbt-encadre--saviez .sbt-encadre-titre{ grid-column: 2; margin: 0; color: var(--sb-encre, #0f172a); }
.sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column: 2; margin: 0; font-size: 1rem; line-height: 1.6; color: var(--sb-encre, #0f172a); }

@media (max-width: 620px){
	.sbt-encadre--saviez{ grid-template-columns: 1fr; }
	.sbt-encadre--saviez::before{ grid-row: 1; }
	.sbt-encadre--saviez .sbt-encadre-titre, .sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column: 1; }
}
/* 04/10/2026 (invalidcast.com) : la règle de liste du corps d'article écrasait le retrait → la coche mangeait la 1re lettre. */
.sbt-article-corps .sbt-retenir-liste{ padding: 0; margin: 0; list-style: none; }
.sbt-article-corps .sbt-retenir-liste li{ padding-left: 34px; margin: 0; text-indent: 0; }

/*
 * BLOC FIGÉ — FAQ EN ACCORDÉON (thématique) — CSS
 * Visuel inspiré du rendu RÉEL de solutionminceur.fr, classes `.smr-faq*` récupérées par
 * un unique curl en lecture seule sur
 * `https://solutionminceur.fr/wp-content/themes/solutionminceur-v2/roxane.css`
 * (fichier CSS distant, absent du mirroir local du chantier — ce curl a RÉUSSI, voir
 * README). Classes renommées `.sbt-faq*` ici, variables de couleur remplacées par des
 * `var(--sb-*, repli)` génériques.
 *
 * Mécanisme accordéon (natif <details>/<summary>, sans JS) : cf. partial-faq.php, origine
 * health-nutrition-cambrai.fr.
 */

.sbt-faq{ margin: 56px 0; padding: 30px; border-radius: var(--sb-rayon-grand, 22px); background: var(--sb-surf, #f4f5fa); border: 1px solid var(--sb-filet, #e2e5ef); }
.sbt-faq-liste{ display: grid; gap: 10px; }
.sbt-faq-liste details{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef) !important;
	border-radius: 14px; padding: 0 !important; transition: box-shadow .25s ease, border-color .25s ease;
}
.sbt-faq-liste details[open]{ box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); border-color: var(--sb-accent, #2563eb) !important; }
.sbt-faq-liste summary{
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
	gap: 18px; padding: 18px 20px; font-size: 1.03rem; font-weight: 600; line-height: 1.45; color: var(--sb-encre, #0f172a);
}
.sbt-faq-liste summary::-webkit-details-marker{ display: none; }
.sbt-faq-liste summary::after{
	content: ""; width: 30px; height: 30px; flex: none; border-radius: 50%;
	background: var(--sb-surf, #f4f5fa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 15px no-repeat;
	transition: transform .3s ease;
}
.sbt-faq-liste details[open] summary::after{ transform: rotate(135deg); }
.sbt-faq-liste summary:hover{ color: var(--sb-accent, #2563eb); }
.sbt-faq-reponse{ padding: 0 20px 18px; font-size: .96875rem; line-height: 1.75; color: var(--sb-doux, #55607a); }
.sbt-faq-reponse p{ margin: 0 0 14px; }
.sbt-faq-reponse p:last-child{ margin-bottom: 0; }

@media (max-width: 760px){
	.sbt-faq{ padding: 20px; }
}

/*
 * BLOC FIGÉ — SIGNATURE / BOÎTE AUTEUR (thématique) — CSS
 * Visuel inspiré du rendu RÉEL de solutionminceur.fr, classes `.smr-auteur*` récupérées
 * par le même curl en lecture seule que partial-faq.css (roxane.css, voir README).
 * Classes renommées `.sbt-auteur*` ici, variables de couleur remplacées par des
 * `var(--sb-*, repli)` génériques.
 */

.sbt-auteur{
	display: grid; grid-template-columns: 120px 1fr; gap: 26px; margin: 54px 0 10px;
	padding: 30px; border-radius: var(--sb-rayon-grand, 22px);
	background: var(--sb-surf, #f4f5fa); border: 1px solid var(--sb-filet, #e2e5ef);
}
.sbt-auteur-photo img{
	width: 120px; height: 120px; border-radius: 50%; object-fit: cover;
	box-shadow: 0 0 0 5px var(--sb-fond-carte, #ffffff), var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08));
}
.sbt-auteur-sur{ margin: 0 0 2px; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sb-doux, #55607a); }
.sbt-auteur-nom{ font-size: 1.5rem; margin: 0 0 4px; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-auteur-nom a{ color: var(--sb-encre, #0f172a); text-decoration: none; }
.sbt-auteur-nom a:hover{ text-decoration: underline; }
.sbt-auteur-role{ margin: 0 0 12px; font-size: .8125rem; font-weight: 600; color: var(--sb-accent, #2563eb); text-transform: uppercase; letter-spacing: .05em; }
.sbt-auteur-bio{ font-size: .96875rem; line-height: 1.7; color: var(--sb-encre, #0f172a); margin: 0 0 16px; }
.sbt-auteur-chiffres{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.sbt-auteur-chiffres span{ background: var(--sb-fond-carte, #ffffff); border-radius: 12px; padding: 8px 12px; font-size: .78125rem; color: var(--sb-doux, #55607a); }
.sbt-auteur-chiffres b{ color: var(--sb-encre, #0f172a); margin-right: 4px; }
.sbt-auteur-der{ margin-bottom: 18px; }
.sbt-auteur-der p{ margin: 0 0 6px; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sb-doux, #55607a); }
.sbt-auteur-der a{ display: block; font-size: .9375rem; font-weight: 500; padding: 6px 0; color: var(--sb-encre, #0f172a); text-decoration: none; border-bottom: 1px dashed var(--sb-filet, #e2e5ef); }
.sbt-auteur-der a:hover{ color: var(--sb-accent, #2563eb); }
.sbt-auteur-actions{ display: flex; flex-wrap: wrap; gap: 10px; }
.sbt-auteur-actions .sbt-btn{
	display: inline-block; padding: 10px 18px; border-radius: 999px; font-size: .875rem; font-weight: 600;
	text-decoration: none; background: var(--sb-accent, #2563eb); color: #fff;
}
.sbt-auteur-actions .sbt-btn--fantome{ background: transparent; border: 1.5px solid var(--sb-filet, #e2e5ef); color: var(--sb-encre, #0f172a); }

@media (max-width: 700px){
	.sbt-auteur{ grid-template-columns: 1fr; padding: 22px; }
	.sbt-auteur-photo img{ width: 88px; height: 88px; }
}

/*
 * BLOC FIGÉ — PIED DE PAGE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-footer*` / `.cdw-cookies*` /
 * `.cdw-popup-sortie*` / `.cdw-btn*` (renommées `.sbt-footer*` / `.sbt-cookies*` /
 * `.sbt-popup-sortie*` / `.sbt-btn*` ici).
 */

.sbt-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 24px; border-radius: 999px; font-weight: 700; font-size: 1rem;
	background: var(--sb-accent, #2563eb); color: #fff; text-decoration: none; border: 0; cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}
.sbt-btn:hover{ transform: translateY(-2px); box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); }
.sbt-btn--petit{ padding: 10px 18px; font-size: .875rem; }
.sbt-btn--fantome{ background: transparent; border: 1.5px solid rgba(255,255,255,.5); color: inherit; }

.sbt-footer{ background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #ffffff); padding-block: clamp(40px,6vw,64px) 24px; }
.sbt-footer a{ color: #c4c7e4; text-decoration: none; }
.sbt-footer a:hover{ color: #fff; }
.sbt-footer a.sbt-btn, .sbt-footer a.sbt-btn:hover{ color: #fff; } /* 10/10/2026 (blueau.fr) : « .sbt-footer a » battait la couleur du bouton (texte gris sur accent, 4,25:1) */

.sbt-footer-cta{
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	padding: 24px 28px; margin-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12);
}
@media (max-width: 600px){ .sbt-footer-cta{ padding: 20px; } } /* 04/10/2026 (invalidcast.com) : texte collé au bord dès qu'un thème donne un fond de carte au bandeau */
.sbt-footer-cta .sbt-t3{ color: #fff; margin: 0 0 4px; font-size: 1.25rem; }
.sbt-footer-cta p{ color: #a9acd0; margin: 0; max-width: 46ch; }

.sbt-footer-grille{ display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12); }
@media (max-width: 980px){ .sbt-footer-grille{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .sbt-footer-grille{ grid-template-columns: 1fr; } }
.sbt-footer-colonne .sbt-t4{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; color: #8b8fb5; margin: 0 0 14px; }
.sbt-footer-colonne ul{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sbt-footer-colonne ul a{ font-size: .875rem; }
.sbt-footer-logo{ display: block; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: 1.125rem; color: #fff; margin-bottom: 14px; }
.sbt-footer-desc{ color: #a9acd0; font-size: .9375rem; margin: 0; max-width: 32ch; }
.sbt-footer-contact{ display: flex; flex-direction: column; gap: 8px; font-size: .875rem; }

.sbt-footer-bas{ padding-top: 20px; font-size: .8125rem; color: #8b8fb5; }

/* Bandeau cookies — deux boutons de MÊME poids (même classe .sbt-btn/.sbt-btn--petit),
   jamais un seul « J'ai compris » qui vaudrait acceptation forcée. */
.sbt-cookies{
	position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 80;
	background: var(--sb-fonce, #141733); color: #fff; border-radius: 12px;
	padding: 10px 14px; display: none; align-items: center; gap: 12px;
	box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); max-height: 64px; overflow: hidden;
}
.sbt-cookies.est-visible{ display: flex; }
.sbt-cookies p{ margin: 0; flex: 1; min-width: 0; font-size: .75rem; line-height: 1.3; }
.sbt-cookies-actions{ display: flex; gap: 8px; flex-shrink: 0; }
.sbt-cookies .sbt-btn{ flex-shrink: 0; padding: 8px 14px; min-height: 32px; font-size: .8125rem; }

/* Popup de sortie — jamais de colonne image vide : si pas d'image, la boîte bascule sur
   une seule colonne (cf. .sbt-popup-sortie-boite--sans-image). */
.sbt-popup-sortie{ position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 20px; }
.sbt-popup-sortie.est-ouvert{ display: flex; }
.sbt-popup-sortie-fond{ position: absolute; inset: 0; background: rgba(15,23,42,.7); }
.sbt-popup-sortie-boite{
	position: relative; z-index: 1; background: var(--sb-fond-carte, #ffffff); border-radius: var(--sb-rayon, 14px);
	max-width: 720px; width: 100%; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
	box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); max-height: 90vh;
}
.sbt-popup-sortie-boite--sans-image{ grid-template-columns: 1fr; max-width: 480px; }
@media (max-width: 640px){ .sbt-popup-sortie-boite{ grid-template-columns: 1fr; max-height: 85vh; overflow-y: auto; } }
.sbt-popup-sortie-image{ min-height: 220px; }
.sbt-popup-sortie-image img{ width: 100%; height: 100%; object-fit: cover; }
.sbt-popup-sortie-texte{ padding: 28px; color: var(--sb-encre, #0f172a); }
.sbt-popup-sortie-fermer{
	position: absolute; top: 12px; right: 12px; z-index: 2; width: 40px; height: 40px; border-radius: 50%;
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.sbt-popup-sortie-fermer svg{ width: 20px; height: 20px; }

/*
 * Le Fil des Compétences — feuille du site (préfixe fc-). Assemblée après fonts.css, style.css et blocs/*.css.
 * Idée : le CARRÉ ILUO QUI SE FERME — un trait lie-de-vin à angles vifs (I, L, U, O) qui épouse
 * photos, cartes, chiffres et formulaire. Mode clair uniquement, aucun bleu.
 *
 * 0 Jetons · 1 Base · 2 En-tête · 3 Boutons · 4 Hero · 5 Formulaire · 6 Accueil · 7 Cartes
 * 8 Article (en-tête neuf, blocs visuels) · 9 Rubrique · 10 Pages · 11 Pied, cookies · 12 Divers
 */

/* ===================== 0. Jetons ===================== */
:root{
	--fc-lin:#FAF6F2; --fc-argile:#F2E6DF; --fc-reglisse:#241A16; --fc-taupe:#5E524C;
	--fc-vin:#8A1E3F; --fc-vin-fonce:#6F1832; --fc-olive:#5C6620; --fc-rose:#F3B7C4; --fc-blanc:#FFFFFF;
	--fc-pale:#B7A79E; --fc-trait:rgba(36,26,22,.14); --fc-filet-rose:#E7C3CB;
	--fc-titre:'Changa','Arial Narrow',system-ui,sans-serif;
	--fc-lecture:'Charis SIL',Georgia,'Times New Roman',serif;
	--fc-h:76px;
	/* DA-11 (18/10) : plus aucune ombre douce ni coin arrondi — angles vifs et filets réglisse partout */
	--fc-ombre:none;
	--fc-ombre-forte:none;

	/* variables des blocs figés */
	--sb-conteneur:1280px; --sb-lecture:720px; --sb-rail:360px; --sb-gouttiere:56px;
	--sb-accent:var(--fc-vin); --sb-accent-clair:var(--fc-rose);
	--sb-encre:var(--fc-reglisse); --sb-doux:var(--fc-taupe); --sb-filet:var(--fc-trait);
	--sb-fond-carte:var(--fc-blanc); --sb-surf:var(--fc-argile);
	--sb-fonce:var(--fc-reglisse); --sb-sur-fonce:var(--fc-lin);
	--sb-rayon:0px; --sb-rayon-grand:0px;
	--sb-ombre:var(--fc-ombre); --sb-ombre-forte:var(--fc-ombre-forte);
	--sb-titre:var(--fc-titre); --sb-texte:var(--fc-lecture);
}
@media (max-width:700px){ :root{ --fc-h:60px; --sb-gouttiere:20px; } }

/* ===================== 1. Base ===================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--fc-h) + 16px); }
body.fc-corps{ margin:0; background:var(--fc-lin); color:var(--fc-reglisse); font:400 18px/1.65 var(--fc-lecture); overflow-x:clip; -webkit-font-smoothing:antialiased; }
@media (max-width:700px){ body.fc-corps{ font-size:17px; } }
/* Bandeau cookies visible : la réserve d'espace est prise DANS le pied (fond réglisse), jamais une bande blanche sous la page. */
body.fc-cookies-visible .sbt-footer.fc-pied{ padding-bottom:104px; }
@media (max-width:700px){ body.fc-cookies-visible .sbt-footer.fc-pied{ padding-bottom:96px; } }
img,svg{ max-width:100%; }
img{ height:auto; display:block; }
h1,h2,h3,h4{ font-family:var(--fc-titre); font-weight:700; line-height:1.1; margin:0; color:var(--fc-reglisse); }
p{ margin:0 0 1em; }
a{ color:var(--fc-vin); text-underline-offset:3px; }
a:hover{ color:var(--fc-vin-fonce); }
ul,ol{ margin:0; padding:0; }
:focus-visible{ outline:3px solid var(--fc-rose); outline-offset:2px; box-shadow:0 0 0 5px var(--fc-reglisse); border-radius:4px; }
.fc-sr{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.fc-evitement{ position:absolute; left:12px; top:-60px; z-index:100; background:var(--fc-reglisse); color:var(--fc-lin); padding:10px 16px; border-radius:10px; font:700 15px var(--fc-titre); }
.fc-evitement:focus{ top:10px; }
.fc-conteneur{ width:100%; max-width:1360px; margin-inline:auto; padding-inline:40px; }
@media (min-width:1800px){ .fc-conteneur{ max-width:1680px; } }
@media (max-width:700px){ .fc-conteneur{ padding-inline:20px; } }
.fc-main{ display:block; }
.fc-section h2{ font-weight:700; font-size:clamp(28px,2.8vw,40px); letter-spacing:-.01em; }
@media (min-width:1800px){ .fc-section h2{ font-size:48px; } }
.fc-meta{ font:500 13px/1.3 var(--fc-titre); color:var(--fc-taupe); margin:0; letter-spacing:.01em; }
.fc-surtitre{ font:600 13px/1.2 var(--fc-titre); letter-spacing:.12em; text-transform:uppercase; color:var(--fc-vin); margin:0 0 14px; }
.fc-chapo{ font:italic 400 21px/1.5 var(--fc-lecture); color:var(--fc-taupe); }
.fc-glyphe{ width:1em; height:1em; flex:none; display:inline-block; vertical-align:middle; }
.fc-pastille{ position:absolute; left:10px; top:10px; z-index:2; background:var(--fc-vin); color:#fff; font:600 12px/1 var(--fc-titre); letter-spacing:.06em; text-transform:uppercase; padding:6px 10px; border-radius:8px; max-width:calc(100% - 20px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fc-lien-fleche{ display:inline-flex; align-items:center; gap:8px; font:700 16px var(--fc-titre); text-decoration:none; color:var(--fc-vin); }
.fc-lien-fleche .fc-picto{ width:18px; height:18px; transition:transform .2s; }
.fc-lien-fleche:hover .fc-picto{ transform:translateX(4px); }
.fc-picto{ width:20px; height:20px; flex:none; }

/* Photo absente : aplat argile + glyphe ILUO, jamais une case vide. */
.fc-repli{ display:grid; place-items:center; width:100%; height:100%; min-height:100%; background:var(--fc-argile); color:rgba(138,30,63,.35); }
.fc-repli-glyphe{ width:34%; max-width:96px; height:auto; aspect-ratio:1; }

/* ===================== 2. En-tête ===================== */
.fc-entete{ position:sticky; top:0; z-index:60; height:var(--fc-h); background:var(--fc-lin); border-bottom:1px solid var(--fc-trait); }
.fc-entete-interieur{ max-width:1360px; margin-inline:auto; height:100%; padding-inline:28px; display:flex; align-items:center; gap:28px; }
@media (min-width:1800px){ .fc-entete-interieur{ max-width:1680px; padding-inline:40px; } }
.fc-entete-logo{ text-decoration:none; flex:none; }
.fc-logo{ display:inline-flex; align-items:flex-end; color:var(--fc-vin); }
.fc-logo-symbole{ width:36px; height:40px; flex:none; }
.fc-logo-mots{ position:relative; padding:0 0 12px 10px; }
.fc-logo-mots::after{ content:""; position:absolute; left:-3px; right:0; bottom:6px; height:2px; background:var(--fc-vin); }
.fc-logo-nom{ font:700 21px/1 var(--fc-titre); color:var(--fc-reglisse); white-space:nowrap; letter-spacing:-.005em; }
.fc-logo--clair{ color:var(--fc-lin); }
.fc-logo--clair .fc-logo-nom{ color:var(--fc-lin); }
.fc-logo--clair .fc-logo-mots::after{ background:var(--fc-rose); }
.fc-nav{ display:flex; align-items:center; flex:1; justify-content:space-between; gap:20px; min-width:0; }
.fc-nav-liste{ display:flex; gap:6px 24px; list-style:none; flex-wrap:nowrap; }
.fc-nav-liste a{ display:block; padding:8px 0 5px; font:600 15px/1.2 var(--fc-titre); color:var(--fc-reglisse); text-decoration:none; white-space:nowrap; border-bottom:3px solid transparent; }
.fc-nav-liste a:hover{ color:var(--fc-vin); border-bottom-color:rgba(138,30,63,.35); }
.fc-nav-item.est-actif a{ border-bottom-color:var(--fc-vin); color:var(--fc-vin); }
.fc-nav-actions{ display:flex; align-items:center; gap:10px; flex:none; }
.fc-nav-loupe{ display:grid; place-items:center; width:44px; height:44px; border-radius:0; color:var(--fc-reglisse); }
.fc-nav-loupe:hover{ background:var(--fc-argile); }
/* DA-11 : l'action de l'en-tête est un lien souligné lie-de-vin, plus une pilule pleine */
.fc-nav-cta, .fc-entete-cta-mobile{ display:inline-flex; align-items:center; min-height:44px; padding:0 2px; font:700 16px/1.2 var(--fc-titre); color:var(--fc-vin); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; white-space:nowrap; }
.fc-nav-cta:hover, .fc-entete-cta-mobile:hover{ color:var(--fc-vin-fonce); text-decoration-thickness:4px; }
.fc-menu-bouton, .fc-entete .fc-entete-cta-mobile{ display:none; }
@media (max-width:1180px){
	.fc-entete-interieur{ gap:12px; padding-inline:20px; }
	.fc-entete-logo{ margin-right:auto; }
	.fc-entete .fc-entete-cta-mobile{ display:inline-flex; font-size:15px; }
	.fc-menu-bouton{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 12px; background:transparent; border:2px solid var(--fc-reglisse); border-radius:0; font:700 15px var(--fc-titre); color:var(--fc-reglisse); cursor:pointer; }
	.fc-nav{ display:none; position:absolute; top:var(--fc-h); left:0; right:0; flex-direction:column; align-items:stretch; gap:6px; background:var(--fc-lin); padding:10px 20px 20px; border-bottom:1px solid var(--fc-trait); box-shadow:0 24px 40px -20px rgba(36,26,22,.35); max-height:calc(100vh - var(--fc-h)); overflow-y:auto; }
	.fc-nav.est-ouvert{ display:flex; }
	.fc-nav-liste{ flex-direction:column; gap:0; }
	.fc-nav-liste a{ padding:14px 4px; font-size:19px; border-bottom:1px solid var(--fc-trait); }
	.fc-nav-item.est-actif a{ border-bottom-color:var(--fc-vin); }
	.fc-nav-cta{ display:none; }
	.fc-nav-actions{ justify-content:flex-start; }
}
@media (max-width:700px){
	.fc-logo-symbole{ width:28px; height:32px; }
	.fc-logo-nom{ font-size:15px; }
	.fc-logo-mots{ padding:0 0 9px 8px; }
	.fc-logo-mots::after{ bottom:5px; }
	.fc-menu-bouton span{ display:none; }
	.fc-menu-bouton{ padding:0 10px; }
}
@media (max-width:380px){ .fc-entete .fc-entete-cta-mobile{ display:none; } }

/* ===================== 3. Boutons ===================== */
.fc-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:12px 24px; background:var(--fc-vin); color:#fff; border:0; border-radius:0; font:700 17px/1.2 var(--fc-titre); text-decoration:none; cursor:pointer; transition:background .2s, transform .2s, box-shadow .2s; white-space:nowrap; }
.fc-btn:hover{ background:var(--fc-vin-fonce); color:#fff; transform:translateY(-2px); box-shadow:0 12px 24px -12px rgba(138,30,63,.6); }
.fc-btn:disabled{ background:rgba(94,82,76,.35); color:#fff; cursor:not-allowed; transform:none; box-shadow:none; }
.fc-btn--compact{ min-height:44px; padding:8px 16px; font-size:15px; }
.fc-btn--rose{ background:var(--fc-rose); color:var(--fc-reglisse); }
.fc-btn--rose:hover{ background:#fff; color:var(--fc-reglisse); }
.fc-btn--fantome{ background:transparent; color:var(--fc-vin); box-shadow:inset 0 0 0 2px var(--fc-vin); }
.fc-btn--fantome:hover{ background:var(--fc-vin); color:#fff; }

/* ===================== 4. Premier écran : « la grille de polyvalence » (DA-11 + corrections n°3, 18/10) =====================
   Bande haute : titre d'une seule couleur ; sa 2e ligne est posée dans des cases de la grille (argile, filet 2 px,
   ombre dure décalée) : deuxième ton sans deuxième couleur.
   Bloc : photo à fond perdu (42 %), angle haut-droit entaillé en carré, étiquette « fiche de poste » épinglée en bas
   à gauche ; le tableau argile chevauche la photo (28-32 px) avec une ombre dure décalée ; le grand carré ILUO
   (trait lie-de-vin 10 px) est posé à cheval sur la photo, l'entaille et le tableau, et se trace I → L → U → O au fil
   des réponses. Profondeur = filets 2 px + ombres dures réglisse, jamais d'ombre floue ni d'arrondi. */
.fc-pv{ background:var(--fc-lin); --fc-pv-pad:max(40px, calc((100vw - 1360px) / 2 + 40px)); --fc-pv-ov:28px; --fc-pv-dec:18px; --fc-pv-cadre:10px; --fc-pv-gap:26px; --fc-pv-photo-g:var(--fc-pv-pad); --fc-pv-cadre-g:0px; --fc-pv-sq:128px; --fc-pv-sqin:32px; --fc-pv-k:calc(var(--fc-pv-sq) * 5 / 128); --fc-pv-ent:calc(var(--fc-pv-sq) - 2 * var(--fc-pv-k)); --fc-pv-entl:calc(var(--fc-pv-ov) + var(--fc-pv-ent) - var(--fc-pv-sqin) + var(--fc-pv-k)); }
@media (min-width:1800px){ .fc-pv{ --fc-pv-pad:calc((100vw - 1680px) / 2 + 40px); --fc-pv-ov:32px; --fc-pv-sq:140px; --fc-pv-sqin:36px; } }
.fc-pv-bande{ max-width:1360px; margin-inline:auto; padding:16px 40px 22px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,390px); column-gap:56px; align-items:end; }
@media (min-width:1800px){ .fc-pv-bande{ max-width:1680px; padding-block:24px 30px; grid-template-columns:minmax(0,1fr) minmax(0,460px); } }
.fc-pv-bande h1{ font-weight:800; font-size:clamp(38px,3.4vw,66px); line-height:1.02; letter-spacing:-.018em; color:var(--fc-reglisse); margin:0; }
.fc-pv-l1{ display:block; }
/* passe 4 : UNE seule case autour de toute la 2e ligne (plus de mots découpés en cases = plus de 2e tableau) */
.fc-pv-mots{ display:inline-block; margin-top:.1em; padding:.05em .22em .09em; background:var(--fc-argile); border:2px solid var(--fc-reglisse); box-shadow:6px 6px 0 var(--fc-reglisse); line-height:1; }
.fc-pv-mot{ display:inline; }
.fc-pv-chapo{ margin:0; text-align:right; font:italic 400 17.5px/1.45 var(--fc-lecture); color:var(--fc-taupe); text-wrap:pretty; }
@media (min-width:1800px){ .fc-pv-chapo{ font-size:19px; } }

.fc-pv-bloc{ display:grid; grid-template-columns:45% minmax(0,1fr); min-height:500px; background:var(--fc-lin); border-top:2px solid var(--fc-reglisse); }
@media (min-width:1800px){ .fc-pv-bloc{ min-height:548px; } }
/* passe 4 : la photo prend le procédé des en-têtes d'article : cadre lie-de-vin épais DÉCALÉ (ombre-cadre) qui dépasse
   en bas et à droite ; elle se décolle du haut et du tableau (le cadre vit dans l'air entre les deux). */
.fc-pv-photo{ position:relative; isolation:isolate; background:#E9D9D0; margin:20px calc(var(--fc-pv-gap) + var(--fc-pv-dec)) calc(26px + var(--fc-pv-dec)) var(--fc-pv-photo-g); }
.fc-pv-photo::before{ content:""; position:absolute; z-index:-1; inset:0 0 0 var(--fc-pv-cadre-g, 0px); transform:translate(var(--fc-pv-dec), var(--fc-pv-dec)); border:var(--fc-pv-cadre) solid var(--fc-vin); pointer-events:none; }
.fc-pv-photo img, .fc-pv-photo .fc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 32%; }
.fc-pv-fiche{ position:absolute; z-index:2; left:24px; bottom:28px; margin:0; max-width:calc(100% - 72px); display:flex; flex-direction:column; gap:3px; padding:11px 18px 12px; background:var(--fc-reglisse); color:var(--fc-lin); box-shadow:6px 6px 0 var(--fc-vin); }
.fc-pv-fiche-n{ font:800 22px/1.05 var(--fc-titre); letter-spacing:-.005em; }
.fc-pv-fiche-l{ font:italic 400 15px/1.3 var(--fc-lecture); color:var(--fc-rose); }

.fc-pv-grille{ position:relative; z-index:2; display:flex; flex-direction:column; min-width:0; margin:20px var(--fc-pv-pad) 26px 0; background:var(--fc-argile); border:2px solid var(--fc-reglisse); box-shadow:8px 8px 0 var(--fc-reglisse); }
.fc-pv-carre{ position:absolute; z-index:4; left:calc(var(--fc-pv-sqin) - var(--fc-pv-sq) - 2px); top:calc(-23px - var(--fc-pv-k)); width:var(--fc-pv-sq); height:var(--fc-pv-sq); overflow:visible; pointer-events:none; }
.fc-pv-carre-fond{ fill:var(--fc-lin); stroke:#E0CBC0; stroke-width:10; stroke-linecap:square; }
.fc-pv-carre-trait{ stroke:var(--fc-vin); stroke-width:10; stroke-linecap:square; stroke-linejoin:miter; stroke-dasharray:1 1; stroke-dashoffset:.75; transition:stroke-dashoffset .8s cubic-bezier(.5,0,.2,1); }
.fc-pv-grille[data-niveau="1"] .fc-pv-carre-trait{ stroke-dashoffset:.5; }
.fc-pv-grille[data-niveau="2"] .fc-pv-carre-trait{ stroke-dashoffset:.25; }
.fc-pv-grille[data-niveau="3"] .fc-pv-carre-trait{ stroke-dashoffset:0; }
.fc-pv-compte{ position:absolute; z-index:5; top:calc(-23px + var(--fc-pv-k)); height:calc(var(--fc-pv-ent) - 2 * var(--fc-pv-k)); left:calc(var(--fc-pv-sqin) - var(--fc-pv-sq) - 2px + 2 * var(--fc-pv-k)); right:calc(100% + 2px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; pointer-events:none; text-align:center; }
.fc-pv-compte b{ font:800 30px/1 var(--fc-titre); color:var(--fc-reglisse); letter-spacing:-.01em; }
.fc-pv-compte i{ font:italic 400 13px/1.15 var(--fc-lecture); color:var(--fc-taupe); }
.fc-pv-compte b::before{ content:"0/3"; } .fc-pv-compte i::before{ content:"réponse"; }
.fc-pv-grille[data-niveau="1"] .fc-pv-compte b::before{ content:"1/3"; }
.fc-pv-grille[data-niveau="2"] .fc-pv-compte b::before{ content:"2/3"; } .fc-pv-grille[data-niveau="2"] .fc-pv-compte i::before{ content:"réponses"; }
.fc-pv-grille[data-niveau="3"] .fc-pv-compte b::before{ content:"3/3"; color:var(--fc-vin); } .fc-pv-grille[data-niveau="3"] .fc-pv-compte i::before{ content:"plan prêt"; }

.fc-pv-ligne{ position:relative; display:grid; grid-template-columns:174px minmax(0,1fr); border-bottom:2px solid var(--fc-filet-rose); transition:background .2s; }
.fc-pv-ligne:last-child{ border-bottom:0; flex:1; }
.fc-pv-ligne.est-active{ background:var(--fc-lin); }
.fc-pv-tete{ padding:12px 12px 10px calc(var(--fc-pv-sqin) + 14px); border-right:2px solid var(--fc-filet-rose); min-width:0; }
.fc-pv-nom{ margin:0; display:flex; align-items:center; gap:8px; font:700 19px/1.1 var(--fc-titre); color:var(--fc-reglisse); }
.fc-pv-repere{ flex:none; width:10px; height:10px; background:#D6C1B6; transition:background .3s; }
.fc-pv-ligne.est-active .fc-pv-repere{ background:var(--fc-vin); }
.fc-pv-ligne.est-faite .fc-pv-repere, .fc-pv-grille.est-complete .fc-pv-ligne--plan .fc-pv-repere{ background:var(--fc-olive); }
.fc-pv-ligne.est-active .fc-pv-nom{ color:var(--fc-vin); }
.fc-pv-q{ margin:4px 0 0 18px; font:italic 400 14px/1.3 var(--fc-lecture); color:var(--fc-taupe); }
.fc-pv-ligne.est-signalee .fc-pv-tete{ animation:fc-signale .9s ease-out; }
@keyframes fc-signale{ 0%,40%{ background:rgba(138,30,63,.16); } 100%{ background:transparent; } }

.fc-pv-cases{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px 16px; align-content:center; }
.fc-pv-tuile{ min-height:64px; padding:6px 10px; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--fc-rose); border:0; border-radius:0; font:700 16px/1.15 var(--fc-titre); color:var(--fc-reglisse); cursor:pointer; transition:background .15s, color .15s, box-shadow .15s, transform .15s, border-color .15s; }
.fc-pv-tuile:hover{ background:#F7CBD5; transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--fc-vin); }
.fc-pv-tuile:active{ transform:none; box-shadow:none; }
.fc-pv-tuile.est-choisie{ background:var(--fc-vin); color:#fff; box-shadow:none; transform:none; }
.fc-pv-tuile:focus-visible, .fc-pv-autre select:focus-visible{ border-radius:0; }
.fc-pv-ligne--besoin .fc-pv-tuile{ font-size:15.5px; }
.fc-pv-autre{ grid-column:span 2; display:flex; }
.fc-pv-autre select{ flex:1; min-width:0; min-height:64px; padding:0 40px 0 14px; -webkit-appearance:none; appearance:none; background:var(--fc-rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241A16' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center / 18px no-repeat; border:0; border-radius:0; font:600 15.5px/1.2 var(--fc-titre); color:var(--fc-reglisse); cursor:pointer; transition:box-shadow .15s, transform .15s; }
.fc-pv-autre select:hover{ background-color:#F7CBD5; transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--fc-vin); }

.fc-pv-choix{ display:none; align-items:center; gap:16px; padding:8px 16px; min-width:0; }
.fc-pv-choix-v{ font:700 18px/1.2 var(--fc-titre); color:var(--fc-reglisse); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fc-pv-changer{ flex:none; min-height:44px; padding:0 4px; background:none; border:0; font:600 14.5px var(--fc-titre); color:var(--fc-vin); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; cursor:pointer; }
.fc-pv-ligne.est-faite .fc-pv-cases{ display:none; }
.fc-pv-ligne.est-faite .fc-pv-choix{ display:flex; }
.fc-pv-ligne.est-faite .fc-pv-tete{ display:flex; align-items:center; padding-block:4px; }
.fc-pv-ligne.est-faite .fc-pv-q{ display:none; }
.fc-pv-ligne.est-faite{ min-height:46px; }
.fc-pv-ligne--plan.est-faite .fc-pv-tete{ display:block; padding-block:12px 10px; }
.fc-pv-ligne--plan.est-faite .fc-pv-q{ display:block; }
.fc-pv-ligne.est-faite .fc-pv-choix{ padding-block:1px; }

/* 4e ligne : récap + e-mail facultatif + bouton sur une ligne, centrés dans la ligne (plus de vide au-dessus du champ) ;
   le plan complet s'ouvre au-dessus quand les 3 réponses sont là */
.fc-pv-plan{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"recap envoi"; align-items:center; align-content:center; column-gap:14px; padding:12px 16px; min-width:0; }
.fc-pv-recap{ grid-area:recap; margin:0; font:600 15px/1.35 var(--fc-titre); color:var(--fc-taupe); }
.fc-pv-recap strong{ color:var(--fc-olive); }
.fc-pv-reponse{ grid-area:rep; display:none; }
.fc-pv-envoi{ grid-area:envoi; min-width:0; }
.fc-pv-envoi-ligne{ display:flex; gap:8px; }
.fc-pv-envoi input[type=email]{ width:180px; min-width:0; min-height:52px; padding:0 14px; border:2px solid var(--fc-taupe); border-radius:0; background:var(--fc-blanc); font:500 16px var(--fc-titre); color:var(--fc-reglisse); }
.fc-pv-bouton{ border-radius:0; min-height:52px; padding-inline:20px; font-size:16.5px; box-shadow:4px 4px 0 var(--fc-reglisse); }
.fc-pv-bouton:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--fc-reglisse); }
.fc-pv-grille .fc-pv-consent{ display:none; }
.fc-pv-grille.est-complete:not(.est-modif) .fc-pv-plan{ grid-template-columns:minmax(0,1fr); grid-template-areas:"rep" "envoi"; align-content:space-between; row-gap:6px; padding-block:10px; }
.fc-pv-grille.est-complete:not(.est-modif) .fc-pv-reponse{ display:block; font-size:14px; line-height:1.38; }
.fc-pv-grille.est-complete:not(.est-modif) .fc-pv-recap{ display:none; }
.fc-pv-grille.est-complete:not(.est-modif) .fc-pv-envoi input[type=email]{ flex:1; width:auto; }
.fc-pv-grille.est-complete:not(.est-modif) .fc-pv-consent{ display:flex; }
.fc-pv-reponse .fc-rep-opco{ border-radius:0; padding:7px 12px; margin-bottom:6px; }
.fc-pv-reponse .fc-rep-liste{ margin-bottom:5px; }
.fc-pv-reponse .fc-rep-oblig, .fc-pv-reponse .fc-rep-guides{ margin-bottom:0; }
.fc-pv-reponse .fc-rep-oblig{ font-size:13px; margin-bottom:4px; }
.fc-pv-grille .fc-form-consentement{ margin-top:6px; }
.fc-pv-grille.est-envoye .fc-form-msg{ color:var(--fc-olive); font-size:14px; }
.fc-pv-grille .fc-form-msg{ margin-top:6px; }
.fc-pv-grille .fc-form-msg:empty{ display:none; }
@media (min-width:1800px){
	.fc-pv-ligne{ grid-template-columns:200px minmax(0,1fr); }
	.fc-pv-nom{ font-size:22px; }
	.fc-pv-tuile, .fc-pv-ligne--besoin .fc-pv-tuile{ min-height:72px; font-size:18px; }
	.fc-pv-autre select{ min-height:72px; }
	.fc-pv-envoi input[type=email]{ width:280px; }
	.fc-pv-grille.est-complete:not(.est-modif) .fc-pv-reponse{ font-size:15px; }
	.fc-pv-fiche-n{ font-size:25px; }
	.fc-pv-fiche-l{ font-size:16.5px; }
}
@media (prefers-reduced-motion:reduce){ .fc-pv-carre-trait, .fc-pv-tuile, .fc-pv-autre select, .fc-pv-repere{ transition:none; } .fc-pv-tuile:hover, .fc-pv-autre select:hover, .fc-pv-bouton:hover{ transform:none; } }

/* tablette et mobile : bandeau photo, puis la grille en pile de lignes (seule la ligne à remplir est ouverte) ;
   le carré ILUO (plus petit) reste à cheval sur le bas de la photo et la 1re ligne, dans l'espace libre à droite */
@media (max-width:1100px){
	.fc-pv{ --fc-pv-pad:0px; --fc-pv-sq:60px; }
	.fc-pv-bande{ grid-template-columns:1fr; row-gap:10px; padding:18px 32px 22px; }
	.fc-pv-bande h1{ font-size:clamp(29px,6vw,52px); }
	.fc-pv-chapo{ text-align:left; font-size:16.5px; }
	.fc-pv-bloc{ display:block; min-height:0; }
	.fc-pv-photo{ height:240px; margin:0; }
	.fc-pv-photo::before{ display:none; }
	.fc-pv-carre-fond{ fill:none; }
	.fc-pv-fiche{ left:32px; bottom:22px; padding:8px 14px 9px; }
	.fc-pv-fiche-n{ font-size:19px; }
	.fc-pv-fiche-l{ font-size:14px; }
	.fc-pv-grille{ margin:0; border-width:2px 0 0; box-shadow:none; }
	.fc-pv-carre{ left:auto; right:20px; top:-40px; }
	.fc-pv-compte{ display:none; }
	.fc-pv-carre-trait{ stroke-width:16; }
	.fc-pv-carre-fond{ stroke-width:16; }
	.fc-pv-ligne{ grid-template-columns:minmax(0,1fr); grid-template-areas:"tete" "cases"; }
	.fc-pv-tete{ grid-area:tete; border-right:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 10px; padding:10px 96px 4px 20px; }
	.fc-pv-ligne:not(:first-of-type) .fc-pv-tete{ padding-right:20px; }
	.fc-pv-q{ margin:0; }
	.fc-pv-cases{ grid-area:cases; padding:6px 20px 14px; }
	.fc-pv-ligne:not(.est-active):not(.est-faite) .fc-pv-cases{ display:none; }
	.fc-pv-ligne:not(.est-active):not(.est-faite) .fc-pv-tete{ padding-block:9px; }
	.fc-pv-ligne.est-faite{ grid-template-columns:auto minmax(0,1fr); grid-template-areas:"tete choix"; min-height:48px; }
	.fc-pv-ligne.est-faite .fc-pv-tete{ padding-block:6px; padding-right:4px; }
	.fc-pv-choix{ grid-area:choix; padding:4px 20px 4px 10px; gap:10px; }
	.fc-pv-choix-v{ font-size:16px; }
	.fc-pv-ligne.fc-pv-ligne--plan, .fc-pv-ligne.fc-pv-ligne--plan.est-faite{ grid-template-columns:minmax(0,1fr); grid-template-areas:"tete" "plan"; }
	.fc-pv-ligne--plan.est-faite .fc-pv-tete{ display:flex; padding-block:10px 4px; padding-right:20px; }
	.fc-pv-plan{ grid-area:plan; grid-template-columns:minmax(0,1fr); grid-template-areas:"recap" "envoi"; row-gap:8px; padding:4px 20px 16px; }
	.fc-pv-grille:not(.est-complete) .fc-pv-recap{ display:none; }
	.fc-pv-envoi input[type=email]{ flex:1; width:auto; }
	.fc-pv-bouton{ box-shadow:none; }
}
@media (max-width:700px){
	.fc-pv-bande{ padding:12px 20px 18px; }
	.fc-pv-chapo{ display:none; }
	.fc-pv-photo{ height:180px; }
	.fc-pv-fiche{ display:none; }
	.fc-pv-carre{ right:16px; top:-38px; }
	.fc-pv-ligne--effectif .fc-pv-tuile{ font-size:15px; padding-inline:4px; }
	.fc-pv-ligne--secteur .fc-pv-cases, .fc-pv-ligne--besoin .fc-pv-cases{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fc-pv-ligne--secteur .fc-pv-tuile{ font-size:15px; }
	.fc-pv-autre select{ min-height:56px; }
	.fc-pv-bouton{ padding-inline:14px; font-size:15.5px; }
	.fc-pv-envoi input[type=email]{ padding:0 10px; font-size:15px; }
}

/* ===================== 5. Formulaire « Mon plan de formation financé » ===================== */
.fc-form-carte{ background:var(--fc-blanc); border-radius:24px; box-shadow:var(--fc-ombre-forte); padding:16px 18px 18px; color:var(--fc-reglisse); font-family:var(--fc-lecture); }
.fc-form-tete{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.fc-form-titre{ flex:1; margin:0; font:700 18px/1.15 var(--fc-titre); }
.fc-form-retour{ display:none; width:36px; height:36px; flex:none; place-items:center; border:0; border-radius:10px; background:var(--fc-argile); color:var(--fc-reglisse); cursor:pointer; }
.fc-form-retour:hover{ background:var(--fc-rose); }
.fc-form-carte:not([data-etape="1"]) .fc-form-retour{ display:grid; }
.fc-form-glyphes{ display:flex; gap:7px; list-style:none; flex:none; }
.fc-form-glyphes li{ color:rgba(94,82,76,.3); line-height:0; }
.fc-form-glyphes .fc-glyphe{ width:22px; height:22px; }
.fc-form-glyphes li.est-fait{ color:var(--fc-olive); }
.fc-form-glyphes li.est-courant{ color:var(--fc-vin); }
.fc-form-etape{ display:none; }
.fc-form-etape.est-active{ display:block; }
.fc-form-carte[data-anime] .fc-form-etape.est-active{ animation:fc-entre .3s ease-out; } /* pas d'animation au chargement : la carte apparaît nette */
@keyframes fc-entre{ from{ opacity:0; transform:translateX(10px); } to{ opacity:1; transform:none; } }
.fc-form-etape h3, .fc-form-q{ font:700 17px/1.25 var(--fc-titre); margin:0 0 10px; color:var(--fc-taupe); }
.fc-tuiles{ display:grid; gap:10px; }
.fc-tuiles--2x2{ grid-template-columns:1fr 1fr; }
.fc-tuiles--2x3{ grid-template-columns:1fr 1fr; gap:8px; }
.fc-tuiles--colonne{ grid-template-columns:1fr; gap:8px; }
.fc-tuile{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:64px; padding:8px 12px; background:var(--fc-blanc); border:2px solid rgba(94,82,76,.2); border-radius:14px; font:700 18px/1.2 var(--fc-titre); color:var(--fc-reglisse); cursor:pointer; transition:background .15s, border-color .15s, color .15s, transform .15s; }
.fc-tuile:hover{ background:var(--fc-argile); border-color:rgba(138,30,63,.4); }
.fc-tuile.est-choisie{ background:var(--fc-vin); border-color:var(--fc-vin); color:#fff; }
.fc-tuile--petite{ min-height:50px; font-size:15px; }
.fc-tuile--large{ justify-content:flex-start; text-align:left; min-height:50px; padding-inline:16px; font-size:16px; }
.fc-autre{ display:flex; align-items:center; gap:10px; margin:8px 0 0; min-height:30px; }
.fc-autre-lien{ background:none; border:0; padding:4px 0; font:600 14px var(--fc-titre); color:var(--fc-vin); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.fc-autre-liste{ flex:1; min-height:40px; border:2px solid rgba(94,82,76,.25); border-radius:12px; background:#fff; padding:0 10px; font:500 14px var(--fc-titre); color:var(--fc-reglisse); }
.fc-autre-liste[hidden]{ display:none; }
.fc-opco-bandeau{ margin:10px 0 0; padding:9px 12px; background:var(--fc-olive); color:#fff; border-radius:12px; font:500 14px/1.35 var(--fc-lecture); }
.fc-opco-bandeau[hidden]{ display:none; }
.fc-opco-bandeau a{ color:#fff; }
.fc-form-nav{ margin-top:10px; }
.fc-form-nav .fc-btn{ width:100%; min-height:48px; }
.fc-reponse{ font:400 14px/1.38 var(--fc-lecture); color:var(--fc-reglisse); }
.fc-reponse p{ margin:0 0 6px; }
.fc-rep-opco{ padding:8px 12px; background:var(--fc-olive); color:#fff; border-radius:12px; }
.fc-rep-opco a{ color:#fff; font-weight:700; }
.fc-rep-liste{ list-style:none; display:grid; gap:4px; margin:0 0 6px; }
.fc-rep-liste li{ position:relative; padding-left:16px; }
.fc-rep-liste li::before{ content:""; position:absolute; left:0; top:.5em; width:8px; height:8px; border:2px solid var(--fc-vin); border-top:0; }
.fc-rep-oblig{ color:var(--fc-taupe); }
.fc-rep-guides{ font:600 13.5px/1.4 var(--fc-titre); display:flex; flex-wrap:wrap; gap:4px 12px; margin:0 0 8px; }
.fc-rep-guides a{ color:var(--fc-vin); }
.fc-form-email{ border-top:1px solid var(--fc-trait); padding-top:8px; }
.fc-form-email-ligne{ display:flex; gap:8px; }
.fc-form-email input[type=email]{ flex:1; min-width:0; min-height:48px; padding:0 14px; border:2px solid rgba(94,82,76,.3); border-radius:12px; background:var(--fc-lin); font:500 16px var(--fc-titre); color:var(--fc-reglisse); }
.fc-form-email .fc-btn{ min-height:48px; padding-inline:16px; font-size:16px; }
.fc-form-consentement{ display:flex; gap:8px; align-items:flex-start; margin-top:6px; font:400 12px/1.35 var(--fc-lecture); color:var(--fc-taupe); }
.fc-form-consentement input{ width:18px; height:18px; flex:none; margin:1px 0 0; accent-color:var(--fc-vin); }
.fc-form-msg{ margin:4px 0 0; min-height:0; font:600 13px/1.3 var(--fc-titre); color:var(--fc-vin); }
.fc-form-msg:empty{ display:none; }
.fc-form-carte.est-envoye .fc-form-msg{ color:var(--fc-olive); font-size:14px; }
.fc-form-carte--rail{ box-shadow:var(--fc-ombre); border:1px solid var(--fc-trait); }
@media (max-width:700px){
	.fc-form-carte{ padding:14px 14px 16px; border-radius:20px; }
	.fc-tuile{ min-height:56px; font-size:17px; }
	.fc-tuile--petite{ min-height:46px; }
	.fc-form-email-ligne{ flex-direction:column; }
}

/* ===================== 6. Accueil ===================== */
.fc-chiffres{ background:var(--fc-reglisse); color:var(--fc-lin); padding:46px 0 54px; }
.fc-chiffres-titre{ font:700 20px/1.3 var(--fc-titre)!important; color:var(--fc-rose)!important; max-width:40em; margin:0 0 26px; letter-spacing:0!important; }
.fc-chiffres-grille{ list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.fc-tuile-chiffre{ padding:12px 18px 10px 26px; border:0 solid var(--fc-rose); border-left-width:6px; }
.fc-tuile-chiffre--l{ border-bottom-width:6px; }
.fc-tuile-chiffre--u{ border-bottom-width:6px; border-right-width:6px; }
.fc-tuile-chiffre--o{ border-width:6px; }
.fc-chiffre{ margin:0 0 6px; font:700 clamp(48px,6.1vw,88px)/1 var(--fc-titre); font-variant-numeric:tabular-nums; color:var(--fc-lin); display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.fc-chiffre-u{ font-weight:500; font-size:.4em; color:var(--fc-rose); }
.fc-chiffre-l{ font:400 16px/1.45 var(--fc-lecture); color:var(--fc-pale); margin:0 0 6px; }
.fc-chiffre-s{ font:500 12px/1.3 var(--fc-titre); color:var(--fc-pale); margin:0 0 6px; letter-spacing:.02em; }
@media (max-width:900px){ .fc-chiffres-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } .fc-chiffre{ font-size:48px; } .fc-chiffre-l{ font-size:14.5px; } }
@media (max-width:560px){ .fc-chiffres-grille{ grid-template-columns:1fr; gap:14px; } .fc-tuile-chiffre{ display:grid; grid-template-columns:118px minmax(0,1fr); column-gap:14px; align-items:center; padding:10px 14px 10px 18px; } .fc-chiffre{ grid-row:1 / span 2; margin:0; font-size:44px; flex-direction:column; gap:0; } .fc-chiffre-u{ font-size:.36em; } .fc-chiffre-l{ margin:0 0 2px; font-size:15px; } .fc-chiffre-s{ margin:0; } }

.fc-rubriques{ padding:40px 0 40px; }
.fc-rubriques h2{ margin:0 0 18px; }
.fc-rubriques-grille{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fc-rub-carte{ display:grid; grid-template-columns:34% minmax(0,1fr); min-height:150px; background:var(--fc-blanc); border:2px solid var(--fc-reglisse); border-radius:0; box-shadow:none; overflow:hidden; }
.fc-rub-photo{ position:relative; display:block; background:var(--fc-argile); min-height:150px; border-right:2px solid var(--fc-reglisse); }
.fc-rub-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fc-rub-photo .fc-repli{ position:absolute; inset:0; }
.fc-rub-corps{ padding:14px 18px; display:flex; flex-direction:column; justify-content:center; min-width:0; }
.fc-rub-corps h3{ font-size:20px; margin:0 0 6px; }
.fc-rub-corps h3 a{ color:var(--fc-reglisse); text-decoration:none; }
.fc-rub-corps h3 a:hover{ color:var(--fc-vin); }
.fc-rub-phrase{ font:400 14.5px/1.4 var(--fc-lecture); color:var(--fc-taupe); margin:0 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fc-rub-liens{ list-style:none; display:grid; gap:4px; }
.fc-rub-liens li{ position:relative; padding-left:14px; font:600 14px/1.3 var(--fc-titre); }
.fc-rub-liens li::before{ content:""; position:absolute; left:0; top:.32em; width:7px; height:7px; border-left:2px solid var(--fc-vin); border-bottom:2px solid var(--fc-vin); }
.fc-rub-liens a{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; text-decoration:none; }
.fc-rub-liens a:hover{ text-decoration:underline; }
.fc-rub-carte--appel{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:6px; padding:22px 24px; background:var(--fc-vin); color:var(--fc-lin); border-color:var(--fc-vin); box-shadow:none; }
.fc-rub-carte--appel h3{ color:var(--fc-lin); font-size:22px; }
.fc-rub-carte--appel p{ margin:0 0 8px; color:var(--fc-rose); font-size:15.5px; }
.fc-appel-glyphe{ width:34px; height:34px; color:var(--fc-rose); }
.fc-rub-carte--appel .fc-btn{ background:var(--fc-rose); color:var(--fc-reglisse); border-radius:0; }
.fc-rub-carte--appel .fc-btn:hover{ background:#fff; color:var(--fc-reglisse); }
@media (max-width:900px){ .fc-rubriques-grille{ grid-template-columns:1fr; } }
@media (max-width:560px){ .fc-rub-carte{ grid-template-columns:34% minmax(0,1fr); } .fc-rub-phrase, .fc-rub-carte .fc-pastille{ display:none; } .fc-rub-corps{ padding:14px; } .fc-rub-corps h3{ font-size:18px; } }

/* Calendrier des entretiens (corrections n°3) : une carte blanche à filet 2 px et ombre dure décalée ; en haut le titre
   et le champ, en dessous une FRISE horizontale colorée (embauche → 1 an → +4 ans → 8 ans), remplie d'un exemple
   tant que rien n'est saisi. Plus aucune case blanche à tiret. */
.fc-outil{ background:var(--fc-argile); padding:52px 0 60px; }
.fc-outil-grille{ display:block; }
.fc-outil-carte{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); grid-template-areas:"titre champ" "chapo champ" "exemple exemple" "grille grille" "note note"; column-gap:56px; align-items:end; background:var(--fc-blanc); border:2px solid var(--fc-reglisse); border-radius:0; box-shadow:8px 8px 0 var(--fc-reglisse); padding:30px 36px 26px; }
.fc-outil-carte h2{ grid-area:titre; font-size:clamp(26px,2.4vw,36px); margin:0 0 8px; }
.fc-outil-chapo{ grid-area:chapo; color:var(--fc-taupe); margin:0; font-size:17px; }
.fc-outil-champ{ grid-area:champ; display:flex; flex-direction:column; gap:6px; margin:0; justify-self:end; width:100%; max-width:340px; }
.fc-outil-champ label{ font:700 15px var(--fc-titre); }
.fc-outil-champ input{ min-height:54px; padding:0 14px; border:2px solid var(--fc-reglisse); border-radius:0; background:var(--fc-lin); font:600 19px var(--fc-titre); color:var(--fc-reglisse); }
.fc-outil-champ input:focus{ box-shadow:4px 4px 0 var(--fc-vin); }
.fc-frise-exemple{ grid-area:exemple; margin:22px 0 0; font:italic 400 15px/1.4 var(--fc-lecture); color:var(--fc-taupe); visibility:hidden; }
.est-exemple .fc-frise-exemple{ visibility:visible; }
.fc-frise{ grid-area:grille; position:relative; list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:0; }
.fc-frise::before{ content:""; position:absolute; left:24px; right:calc(25% - 30px); top:22px; height:8px; background:linear-gradient(90deg, var(--fc-olive) 0 66%, var(--fc-vin) 66% 100%); }
.fc-frise .fc-case{ position:relative; display:flex; flex-direction:column; gap:6px; padding:0 18px 0 0; border:0; background:none; min-width:0; }
.fc-frise .fc-case-glyphe{ display:grid; place-items:center; width:52px; height:52px; margin-bottom:10px; background:var(--fc-olive); color:#fff; border:2px solid var(--fc-reglisse); box-shadow:4px 4px 0 var(--fc-reglisse); line-height:0; }
.fc-frise .fc-case:last-child .fc-case-glyphe{ background:var(--fc-vin); }
.fc-frise .fc-case-glyphe .fc-glyphe{ width:28px; height:28px; }
.fc-frise .fc-case-nom{ font:600 15px/1.25 var(--fc-titre); color:var(--fc-taupe); }
.fc-frise .fc-case-date{ font:700 23px/1.15 var(--fc-titre); color:var(--fc-reglisse); font-variant-numeric:tabular-nums; }
.fc-frise .fc-case-date sup{ font-size:.55em; line-height:0; vertical-align:.7em; }
.est-exemple .fc-frise .fc-case-date{ color:var(--fc-taupe); }
.fc-frise .fc-case.est-echu .fc-case-date{ color:var(--fc-vin); }
.fc-outil-note{ grid-area:note; margin:24px 0 0; padding-top:14px; border-top:2px solid var(--fc-argile); font:400 14px/1.45 var(--fc-lecture); color:var(--fc-taupe); }
@media (max-width:980px){
	.fc-outil-carte{ grid-template-columns:1fr; grid-template-areas:"titre" "chapo" "champ" "exemple" "grille" "note"; padding:24px 20px; box-shadow:6px 6px 0 var(--fc-reglisse); }
	.fc-outil-champ{ justify-self:start; margin-top:16px; }
}
@media (max-width:640px){
	.fc-outil{ padding:36px 0 42px; }
	.fc-frise{ grid-template-columns:1fr; row-gap:18px; }
	.fc-frise::before{ left:22px; right:auto; top:24px; bottom:30px; width:8px; height:auto; background:linear-gradient(180deg, var(--fc-olive) 0 70%, var(--fc-vin) 70% 100%); }
	.fc-frise .fc-case{ display:grid; grid-template-columns:52px minmax(0,1fr); column-gap:16px; align-items:center; padding:0; }
	.fc-frise .fc-case-glyphe{ grid-row:span 2; margin:0; }
	.fc-frise .fc-case-date{ font-size:20px; }
}


.fc-opcos{ padding:46px 0 40px; }
.fc-opcos-tete{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:20px; }
.fc-opcos-chapo{ margin:8px 0 0; max-width:44em; color:var(--fc-taupe); font-size:17px; }
.fc-opcos-fleches{ display:flex; gap:8px; flex:none; }
.fc-fleche{ width:52px; height:52px; display:grid; place-items:center; border-radius:0; border:2px solid var(--fc-reglisse); background:transparent; color:var(--fc-reglisse); cursor:pointer; transition:background .2s,color .2s; }
.fc-fleche:hover{ background:var(--fc-reglisse); color:var(--fc-lin); }
.fc-opcos-piste{ list-style:none; display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 4px 22px; margin:0 -4px; scrollbar-width:none; --fc-fondu-g:0px; --fc-fondu-d:140px; -webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fc-fondu-g), #000 calc(100% - var(--fc-fondu-d)), transparent 100%); mask-image:linear-gradient(to right, transparent 0, #000 var(--fc-fondu-g), #000 calc(100% - var(--fc-fondu-d)), transparent 100%); }
/* 18/10 (DA-11) : le fondu n'est plus un masque (des cartes disparaissaient en capture) mais deux voiles lin posés sur les bords */
.fc-opcos-piste{ -webkit-mask-image:none!important; mask-image:none!important; }
.fc-opcos-cadre{ position:relative; }
.fc-opcos-cadre::before, .fc-opcos-cadre::after{ content:""; position:absolute; top:0; bottom:16px; width:120px; z-index:2; pointer-events:none; transition:opacity .25s; }
.fc-opcos-cadre::before{ left:-4px; background:linear-gradient(to right, var(--fc-lin), rgba(250,246,242,0)); opacity:0; }
.fc-opcos-cadre::after{ right:-4px; background:linear-gradient(to left, var(--fc-lin), rgba(250,246,242,0)); }
.fc-opcos-cadre:has(.est-milieu)::before, .fc-opcos-cadre:has(.est-fin)::before{ opacity:1; }
.fc-opcos-cadre:has(.est-fin)::after{ opacity:0; }
@media (max-width:700px){ .fc-opcos-cadre::before, .fc-opcos-cadre::after{ width:48px; } }
.fc-opcos-piste.est-milieu{ --fc-fondu-g:90px; }
.fc-opcos-piste.est-fin{ --fc-fondu-g:90px; --fc-fondu-d:0px; }
.fc-fleche:disabled{ opacity:.3; cursor:default; background:transparent; color:var(--fc-reglisse); }
.fc-opcos-piste::-webkit-scrollbar{ display:none; }
.fc-opco-carte{ flex:0 0 min(290px,78vw); scroll-snap-align:start; background:var(--fc-blanc); border:2px solid var(--fc-reglisse); border-radius:0; box-shadow:none; overflow:hidden; display:flex; flex-direction:column; }
.fc-opco-photo{ aspect-ratio:16/10; background:var(--fc-argile); overflow:hidden; border-bottom:2px solid var(--fc-reglisse); }
.fc-opco-photo img, .fc-opco-photo .fc-repli{ width:100%; height:100%; object-fit:cover; }
.fc-opco-corps{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:4px; flex:1; }
.fc-opco-corps h3{ font-size:20px; }
.fc-opco-corps p{ margin:0; font:400 14.5px/1.4 var(--fc-lecture); color:var(--fc-taupe); }
.fc-opco-corps .fc-opco-liens{ margin-top:auto; padding-top:8px; display:flex; gap:14px; flex-wrap:wrap; font:700 14px var(--fc-titre); }
.fc-opco-liens a{ display:inline-flex; align-items:center; gap:5px; }
.fc-opco-liens .fc-picto{ width:15px; height:15px; }
@media (max-width:700px){ .fc-opcos-tete{ flex-direction:column; align-items:flex-start; gap:12px; } .fc-fleche{ width:44px; height:44px; } .fc-opcos-piste{ --fc-fondu-d:56px; } .fc-opcos-piste.est-milieu{ --fc-fondu-g:40px; } .fc-opcos-piste.est-fin{ --fc-fondu-g:40px; } }

.fc-bande{ position:relative; background:var(--fc-reglisse); color:var(--fc-lin); overflow:hidden; padding:72px 0; }
.fc-bande-photo{ position:absolute; inset:0; }
.fc-bande-photo img, .fc-bande-photo .fc-repli{ width:100%; height:100%; object-fit:cover; }
.fc-bande-photo .fc-repli{ background:var(--fc-reglisse); color:rgba(243,183,196,.12); }
.fc-bande::after{ content:""; position:absolute; inset:0; background:rgba(36,26,22,.62); }
.fc-bande-texte{ position:relative; z-index:2; }
.fc-bande-glyphe{ width:52px; height:52px; color:var(--fc-rose); margin-bottom:18px; }
.fc-bande{ padding:64px 0; }
.fc-bande blockquote{ margin:0; max-width:min(1000px,100%); }
.fc-bande blockquote p{ font:800 clamp(28px,3.7vw,56px)/1.08 var(--fc-titre); text-wrap:balance; color:var(--fc-lin); letter-spacing:-.01em; margin:0 0 18px; }
.fc-bande footer{ font:italic 400 19px var(--fc-lecture); color:var(--fc-rose); }
.fc-bande footer::before{ content:""; display:inline-block; width:36px; height:2px; background:var(--fc-rose); vertical-align:middle; margin-right:12px; }
@media (max-width:700px){ .fc-bande{ padding:48px 0; } }

.fc-guides{ background:var(--fc-blanc); padding:46px 0 50px; }
.fc-guides h2{ margin:0 0 22px; }
.fc-guides-grille{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:40px; align-items:start; }
.fc-guides-grille--seul{ grid-template-columns:minmax(0,1fr); max-width:760px; }
.fc-guide-grand a{ display:block; color:inherit; text-decoration:none; }
.fc-guide-grand-photo{ height:clamp(220px,22vw,320px); border:2px solid var(--fc-reglisse); border-left:8px solid var(--fc-vin); border-radius:0; overflow:hidden; box-shadow:none; background:var(--fc-argile); }
.fc-guide-grand-photo img, .fc-guide-grand-photo .fc-repli{ width:100%; height:100%; object-fit:cover; }
.fc-guide-grand-corps{ padding:16px 4px 0; }
.fc-guide-grand h3{ font-size:clamp(22px,2.1vw,30px); margin:6px 0 8px; }
.fc-guide-grand a:hover h3{ color:var(--fc-vin); }
.fc-guide-grand p{ color:var(--fc-taupe); font-size:16.5px; margin:0; }
.fc-guides-liste{ list-style:none; display:grid; }
.fc-guides-liste li{ border-bottom:1px solid var(--fc-trait); }
.fc-guides-liste li:first-child{ border-top:1px solid var(--fc-trait); }
.fc-guides-liste a{ display:flex; gap:16px; align-items:center; padding:14px 0; color:inherit; text-decoration:none; }
.fc-guides-vignette{ flex:none; width:112px; height:84px; border-radius:0; border:2px solid var(--fc-reglisse); overflow:hidden; background:var(--fc-argile); }
.fc-guides-vignette img, .fc-guides-vignette .fc-repli{ width:100%; height:100%; object-fit:cover; }
.fc-guides-texte{ display:grid; gap:4px; min-width:0; }
.fc-guides-titre{ font:700 17px/1.25 var(--fc-titre); color:var(--fc-reglisse); }
.fc-guides-liste a:hover .fc-guides-titre{ color:var(--fc-vin); }
@media (max-width:900px){ .fc-guides-grille{ grid-template-columns:1fr; gap:28px; } }

.fc-actu{ padding:44px 0 50px; }
.fc-actu-tete{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:20px; }
.fc-actu-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start; }
.fc-carte--actu .fc-carte-img{ aspect-ratio:16/9; }
.fc-carte--actu .fc-carte-corps h3{ font-size:18.5px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:900px){ .fc-actu-grille{ grid-template-columns:1fr; gap:16px; } }
@media (max-width:900px){ .fc-carte--actu .fc-carte-lien{ display:grid; grid-template-columns:38% minmax(0,1fr); align-items:stretch; } .fc-carte--actu .fc-carte-img{ position:relative; aspect-ratio:auto; min-height:120px; border-bottom:0; border-right:2px solid var(--fc-reglisse); } .fc-carte--actu .fc-carte-img img, .fc-carte--actu .fc-carte-img .fc-repli{ position:absolute; inset:0; } .fc-carte--actu .fc-carte-corps{ align-self:center; } }
@media (max-width:560px){ .fc-carte--actu .fc-carte-corps{ padding:12px 12px 14px 20px; } .fc-carte--actu .fc-carte-corps h3{ font-size:16.5px; } .fc-carte--actu .fc-meta span{ display:none; } }

/* DA-11 : la lie-de-vin ne remplit jamais une bande pleine largeur → bande olive */
.fc-final{ background:var(--fc-olive); color:var(--fc-lin); padding:56px 0; }
.fc-final-grille{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:center; }
.fc-final h2{ color:var(--fc-lin); font-weight:800; font-size:clamp(30px,3.2vw,46px)!important; margin:0 0 14px; }
.fc-final p{ color:var(--fc-lin); font-size:18px; max-width:32em; margin:0 0 24px; }
.fc-final-photo{ padding:24px; position:relative; }
.fc-final-photo::before{ content:""; position:absolute; inset:0; border:10px solid var(--fc-rose); pointer-events:none; }
.fc-final-cadre{ height:260px; border-radius:0; overflow:hidden; background:var(--fc-argile); }
.fc-final-cadre img, .fc-final-cadre .fc-repli{ width:100%; height:100%; object-fit:cover; }
@media (max-width:900px){ .fc-final-grille{ grid-template-columns:1fr; gap:28px; } .fc-final-cadre{ height:200px; } .fc-final{ padding:44px 0; } }

/* apparition au défilement (jamais sur le hero) */
.fc-js .fc-section.fc-apparait{ opacity:0; transform:translateY(16px); transition:opacity .4s ease-out, transform .4s ease-out; }
.fc-js .fc-section.fc-apparait.est-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
	html{ scroll-behavior:auto; }
	*,*::before,*::after{ animation-duration:.001s!important; transition-duration:.001s!important; }
	.fc-js .fc-section.fc-apparait{ opacity:1; transform:none; }
}

/* ===================== 7. Cartes d'article (rubriques, recherche, auteur) ===================== */
/* DA-11 : « fiches de poste » — angles vifs, filet réglisse, aucune ombre douce ; le bord trace I / L / U / O
   selon le niveau du guide ; l'étiquette de rubrique est dans la fiche, jamais sur la photo. */
.fc-carte{ position:relative; background:var(--fc-blanc); border:2px solid var(--fc-reglisse); border-radius:0; box-shadow:none; padding:0; min-width:0; }
.fc-carte::before{ content:""; position:absolute; inset:-2px; z-index:2; border:0 solid var(--fc-vin); pointer-events:none; }
.fc-carte--niv-i::before{ border-left-width:8px; }
.fc-carte--niv-l::before{ border-left-width:8px; border-bottom-width:8px; }
.fc-carte--niv-u::before{ border-left-width:8px; border-bottom-width:8px; border-right-width:8px; }
.fc-carte--niv-o::before{ border-width:8px; }
.fc-carte-lien{ display:block; color:inherit; text-decoration:none; height:100%; }
.fc-carte-img{ aspect-ratio:16/10; overflow:hidden; background:var(--fc-argile); border-bottom:2px solid var(--fc-reglisse); }
.fc-carte-img img, .fc-carte-img .fc-repli{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease-out; }
.fc-carte-corps{ padding:14px 18px 18px 24px; }
.fc-carte--niv-u .fc-carte-corps, .fc-carte--niv-o .fc-carte-corps{ padding-right:24px; }
.fc-carte--niv-l .fc-carte-corps, .fc-carte--niv-u .fc-carte-corps, .fc-carte--niv-o .fc-carte-corps{ padding-bottom:22px; }
.fc-carte-rub{ margin:0 0 6px; font:600 14px/1.25 var(--fc-titre); color:var(--fc-vin); }
.fc-carte-corps h3{ font-size:19px; line-height:1.25; margin:0 0 10px; }
.fc-carte .fc-meta{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:2px 12px; }
.fc-carte:hover{ background:var(--fc-lin); }
.fc-carte:hover h3{ color:var(--fc-vin); }
.fc-carte:hover .fc-carte-img img{ transform:scale(1.03); }

.fc-js .fc-carte--cache{ display:none; }
.fc-grille-cartes{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:30px 28px; align-items:stretch; }
/* corrections n°3 : fiches d'une même rangée à hauteur égale (liserés au même niveau), la date descend en pied de fiche */
.fc-grille-cartes .fc-carte-lien{ display:flex; flex-direction:column; }
.fc-grille-cartes .fc-carte-corps{ flex:1; display:flex; flex-direction:column; }
.fc-grille-cartes .fc-carte .fc-meta{ margin-top:auto; }
.fc-grille-cartes .fc-carte{ grid-column:span 2; }
.fc-grille-cartes .fc-carte--moitie{ grid-column:span 3; }
.fc-grille-cartes .fc-carte--moitie .fc-carte-img{ aspect-ratio:2/1; }
.fc-grille-cartes .fc-carte--seule{ grid-column:span 6; }
.fc-carte--seule .fc-carte-lien{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
.fc-carte--seule .fc-carte-img{ border-bottom:0; border-right:2px solid var(--fc-reglisse); }
.fc-carte--seule .fc-carte-corps h3{ font-size:26px; }
@media (max-width:900px){
	.fc-grille-cartes{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
	.fc-grille-cartes .fc-carte, .fc-grille-cartes .fc-carte--moitie{ grid-column:auto; }
	.fc-grille-cartes .fc-carte--seule{ grid-column:1/-1; }
	.fc-grille-cartes .fc-carte--moitie .fc-carte-img{ aspect-ratio:16/10; }
}
@media (max-width:620px){
	.fc-grille-cartes{ grid-template-columns:1fr; }
	.fc-carte--seule .fc-carte-lien{ display:block; }
	.fc-carte--seule .fc-carte-img{ border-right:0; border-bottom:2px solid var(--fc-reglisse); }
}
.fc-voirplus{ text-align:center; margin:36px 0 0; }

/* ===================== 8. Article : en-tête neuf, corps en panneau, rail d'un seul bloc ===================== */
.sbt-fil-ariane, .fc-ariane{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:18px 0 20px; font:500 13px/1.3 var(--fc-titre); color:var(--fc-taupe); }
.sbt-fil-ariane a{ color:var(--fc-taupe); text-decoration:none; }
.sbt-fil-ariane a:hover{ color:var(--fc-vin); text-decoration:underline; }
.sbt-fil-ariane span[aria-current]{ color:var(--fc-reglisse); font-weight:600; max-width:40ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.fc-ae{ background:var(--fc-argile); padding:0 0 104px; }
.fc-ae-grille{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:56px; align-items:center; max-width:1256px; }
@media (min-width:1800px){ .fc-ae-grille{ max-width:1436px; } .fc-ae-cadre{ aspect-ratio:16/10; } }
.fc-ae-texte{ min-width:0; padding-bottom:6px; }
.fc-ae-pastille{ display:inline-block; background:var(--fc-vin); color:#fff; padding:7px 12px; border-radius:8px; font:600 12px/1 var(--fc-titre); letter-spacing:.1em; text-transform:uppercase; text-decoration:none; margin-bottom:16px; }
.fc-ae-pastille:hover{ background:var(--fc-vin-fonce); color:#fff; }
.fc-ae h1{ font-weight:800; font-size:clamp(30px,3.4vw,48px); line-height:1.08; letter-spacing:-.012em; margin:0 0 16px; text-wrap:balance; }
.fc-ae-chapo{ font:italic 400 clamp(17px,1.4vw,20px)/1.5 var(--fc-lecture); color:var(--fc-taupe); margin:0 0 20px; max-width:36em; }
.fc-ae-meta{ display:flex; align-items:center; gap:14px; margin:0; }
.fc-ae-meta .avatar{ width:48px; height:48px; border-radius:50%; object-fit:cover; flex:none; box-shadow:0 0 0 3px #fff; }
.fc-ae-meta-texte{ display:grid; gap:2px; font:500 14px/1.4 var(--fc-titre); color:var(--fc-taupe); }
.fc-ae-meta .sbt-article-meta-auteur{ color:var(--fc-reglisse); font-weight:700; font-size:16px; }
.fc-ae-photo{ position:relative; margin:24px 24px 24px 24px; }
.fc-ae-photo::before{ content:""; position:absolute; inset:-24px; border:10px solid var(--fc-vin); border-left-width:0; pointer-events:none; }
.fc-ae-cadre{ position:relative; aspect-ratio:4/3; border-radius:18px; overflow:hidden; background:#E9D9D0; box-shadow:var(--fc-ombre); }
.fc-ae-cadre img, .fc-ae-cadre .fc-repli{ width:100%; height:100%; object-fit:cover; }
.fc-ae-credit{ position:absolute; z-index:4; right:0; top:0; margin:0; max-width:100%; text-align:right; padding:4px 9px; background:rgba(36,26,22,.82); color:var(--fc-lin); font:500 11.5px/1.3 var(--fc-titre); }
.fc-corps figure figcaption, .sbt-article-principal figure figcaption{ margin-top:8px; font:italic 400 14px/1.4 var(--fc-lecture); color:var(--fc-taupe); }
.fc-jeton-rub{ position:absolute; z-index:3; left:14px; bottom:14px; width:76px; height:76px; border-radius:50%; background:#fff; color:var(--fc-vin); display:grid; place-content:center; justify-items:center; gap:2px; box-shadow:0 12px 24px -10px rgba(36,26,22,.5); text-align:center; }
.fc-jeton-rub .fc-glyphe{ width:22px; height:22px; }
.fc-jeton-rub span{ font:700 10.5px/1.1 var(--fc-titre); color:var(--fc-reglisse); max-width:62px; }

.fc-article .sbt-article-mise-en-page{ --sb-lecture:820px; --sb-rail:380px; max-width:1360px; padding:0 40px 72px; margin-top:-88px; position:relative; z-index:2; justify-content:start; column-gap:56px; }
@media (min-width:1800px){ .fc-article .sbt-article-mise-en-page{ --sb-lecture:960px; --sb-rail:420px; max-width:1680px; } }
.fc-article .sbt-article-principal{ background:#fff; border-radius:24px; padding:40px 44px 36px; box-shadow:var(--fc-ombre); min-width:0; }
@media (max-width:1080px){
	.fc-ae{ padding-bottom:64px; }
	.fc-ae-grille{ grid-template-columns:1fr; gap:34px; }
	.fc-ae-photo{ margin:16px 16px 16px 8px; }
	.fc-ae-photo::before{ inset:-16px; border-width:8px; border-left-width:0; }
	.fc-ae-cadre{ aspect-ratio:16/10; border-radius:14px; }
	.fc-jeton-rub{ width:64px; height:64px; left:10px; bottom:10px; }
	.fc-article .sbt-article-mise-en-page{ margin-top:-48px; padding-inline:20px; }
	.fc-article .sbt-article-principal{ padding:28px 22px 26px; border-radius:20px; }
}
@media (max-width:700px){
	.fc-ae-grille{ gap:26px; }
	.fc-ae h1{ font-size:30px; }
}

/* Rail : sommaire + formulaire en UN seul bloc collant, plus court que la fenêtre, sans défilement interne. */
.fc-article .sbt-rail{ top:calc(var(--fc-h) + 20px); background:#fff; border:0; padding:14px; gap:12px; border-radius:24px; box-shadow:var(--fc-ombre); }
.fc-article .sbt-rail-carte{ border:0; padding:0; background:transparent; }
.sbt-sommaire{ border:0; background:var(--fc-argile); border-radius:16px; padding:14px 16px; }
.sbt-sommaire-titre{ font:700 15px var(--fc-titre); }
.sbt-sommaire ol{ margin-top:8px; gap:5px; }
.sbt-sommaire li a{ font:500 13.5px/1.28 var(--fc-titre); align-items:center; color:var(--fc-reglisse); }
.sbt-sommaire li.est-lu a{ color:var(--fc-vin); font-weight:700; }
.sbt-sommaire-num{ border-radius:0; background:transparent; width:21px; height:21px; border-left:3px solid var(--fc-vin); border-bottom:3px solid var(--fc-vin); font:700 10.5px var(--fc-titre); color:var(--fc-vin); padding:0 0 0 2px; }
/* corrections n°3 (BE-0046) : pendant les étapes 2 à 4, le sommaire RESTE au-dessus du formulaire (un seul bloc), en version
   compacte (toutes les entrées, une ligne chacune) ; la réponse du rail laisse les liens « Guides » à « À lire aussi », et si le
   bloc dépasse encore la fenêtre (petits écrans), la ligne « Obligation » se range (classe fc-rail-serre posée par app.js). */
@media (min-width:1081px){
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire{ padding:9px 14px 10px; }
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire ol{ margin-top:5px; gap:1px; }
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire li a{ font-size:13px; line-height:1.25; }
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire-libelle{ display:block; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire li a{ padding:1px 0; gap:10px; }
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire-num{ width:15px; height:15px; background-size:11px; }
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire li.est-lu .sbt-sommaire-num{ box-shadow:inset 0 0 0 2px #fff, inset 0 0 0 8px var(--fc-vin); }
	.fc-article .sbt-rail.fc-rail-form-actif .sbt-sommaire ol::before{ left:6.5px; }
	.fc-article .sbt-rail .fc-form-carte--rail .fc-tuiles--2x3{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
	.fc-article .sbt-rail .fc-form-carte--rail .fc-tuiles--2x3 .fc-tuile{ min-height:50px; padding:6px; font-size:14.5px; }
	.fc-article .sbt-rail .fc-form-carte--rail .fc-rep-guides{ display:none; }
	.fc-article .sbt-rail .fc-form-carte--rail .fc-rep-oblig{ font-size:12.5px; line-height:1.4; }
	.fc-article .sbt-rail.fc-rail-serre .fc-form-carte--rail .fc-rep-oblig{ display:none; }
}
.fc-article .fc-form-carte--rail{ box-shadow:none; border:1px solid var(--fc-trait); border-radius:18px; padding:14px 14px 16px; }
.fc-article .fc-form-carte--rail .fc-form-titre{ font-size:16px; }
.fc-rail-lien{ background:var(--fc-argile); border-radius:16px; padding:16px; }
.fc-rail-lien-titre{ font:700 18px var(--fc-titre); margin:0 0 6px; }
.fc-rail-lien p{ font-size:15px; margin:0 0 12px; color:var(--fc-taupe); }
@media (max-width:1080px){ .fc-article .sbt-rail{ position:static; margin-top:8px; } }

/* Corps de l'article */
.sbt-article-corps{ font:400 18px/1.7 var(--fc-lecture); color:var(--fc-reglisse); }
.sbt-article-corps h2{ font-size:clamp(24px,2.2vw,31px); line-height:1.15; margin:2em 0 .6em; letter-spacing:-.005em; }
.sbt-article-corps h2:first-child{ margin-top:0; }
.sbt-article-corps h3{ font-size:clamp(19px,1.6vw,23px); margin:1.7em 0 .45em; }
.sbt-article-corps p{ margin:0 0 1.2em; }
.sbt-article-corps a{ color:var(--fc-vin); text-decoration-thickness:2px; }
.sbt-article-corps img{ border-radius:14px; margin-block:1.6em; aspect-ratio:16/9; object-fit:cover; max-height:420px; }
.sbt-article-corps blockquote{ border-left:0; border-bottom:5px solid var(--fc-vin); border-right:5px solid var(--fc-vin); background:var(--fc-argile); border-radius:0 0 14px 0; font:italic 400 19px/1.55 var(--fc-lecture); padding:20px 24px; }
.sbt-article-corps > ul, .sbt-article-corps > ol:not(.fc-etapes){ list-style:none; margin:0 0 1.3em; display:grid; gap:8px; }
.sbt-article-corps > ul > li{ position:relative; padding-left:28px; }
.sbt-article-corps > ul > li::before{ content:""; position:absolute; left:3px; top:.55em; width:11px; height:11px; border-left:3px solid var(--fc-vin); border-bottom:3px solid var(--fc-vin); }
.sbt-article-corps > ol:not(.fc-etapes){ counter-reset:fcl; }
.sbt-article-corps > ol:not(.fc-etapes) > li{ position:relative; padding-left:38px; counter-increment:fcl; }
.sbt-article-corps > ol:not(.fc-etapes) > li::before{ content:counter(fcl); position:absolute; left:0; top:.1em; width:26px; height:26px; display:grid; place-items:center; font:700 14px var(--fc-titre); color:var(--fc-vin); border-left:3px solid var(--fc-vin); border-bottom:3px solid var(--fc-vin); }
.sbt-article-corps table{ width:100%; border-collapse:collapse; font:400 16px/1.45 var(--fc-lecture); margin:1.6em 0; }
.sbt-article-corps th{ background:var(--fc-reglisse); color:var(--fc-lin); font:700 14px/1.3 var(--fc-titre); text-align:left; padding:12px 14px; }
.sbt-article-corps td{ padding:11px 14px; border-bottom:1px solid var(--fc-trait); vertical-align:top; }
.sbt-article-corps tr:nth-child(even) td{ background:var(--fc-lin); }
@media (max-width:700px){
	.sbt-article-corps{ font-size:17px; }
	.sbt-article-corps table{ display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
	.sbt-article-corps th, .sbt-article-corps td{ min-width:120px; }
}

/* Blocs visuels tirés du texte */
.fc-bloc--repere{ margin:1.8em 0; padding:20px 24px 22px; background:var(--fc-argile); border:0 solid var(--fc-vin); border-left-width:6px; border-bottom-width:6px; border-right-width:6px; }
.fc-bloc-etiquette{ display:flex; align-items:center; gap:8px; margin:0 0 8px; font:700 12px/1 var(--fc-titre); letter-spacing:.1em; text-transform:uppercase; color:var(--fc-vin); }
.fc-bloc-etiquette .fc-glyphe{ width:18px; height:18px; }
.fc-repere-phrase{ margin:0; font:600 clamp(19px,1.7vw,23px)/1.35 var(--fc-titre); color:var(--fc-reglisse); }
.fc-etapes{ list-style:none; display:grid; gap:14px; margin:1.6em 0; counter-reset:fce; }
.fc-etape{ display:flex; gap:16px; align-items:flex-start; padding:16px 18px; background:var(--fc-lin); border-radius:14px; }
.fc-etape-n{ flex:none; width:44px; height:44px; display:grid; place-items:center; background:#fff; border-radius:10px; color:var(--fc-vin); box-shadow:inset 0 0 0 1px var(--fc-trait); }
.fc-etape-n .fc-glyphe{ width:24px; height:24px; }
.fc-etape-corps{ min-width:0; }
.fc-etape-corps p:last-child{ margin-bottom:0; }
.fc-fiches{ display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:1.6em 0; }
.fc-fiche{ display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:16px; align-items:start; padding:16px 20px 16px 16px; background:var(--fc-lin); border-radius:0 14px 14px 0; border-left:4px solid var(--fc-vin); }
.fc-fiche > p{ grid-column:2; }
.fc-fiche-marque{ grid-column:1; grid-row:1 / span 2; display:block; color:var(--fc-olive); margin-top:3px; line-height:0; }
.fc-fiche-marque .fc-glyphe{ width:22px; height:22px; }
.fc-fiche-titre{ font:700 17px/1.25 var(--fc-titre); margin:0 0 6px; color:var(--fc-reglisse); }
.fc-fiche-precision{ display:block; font:400 13px/1.3 var(--fc-lecture); color:var(--fc-taupe); margin-top:2px; }
.fc-fiche-texte{ font-size:16px; line-height:1.55; margin:0; }
@media (max-width:700px){ .fc-fiche{ grid-template-columns:22px minmax(0,1fr); column-gap:12px; padding:14px 16px 14px 12px; } }
/* « Pour aller plus loin » : liens en cartes, jamais une liste à puces brute */
.sb-maillage ul{ list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 1.2em; padding:0; }
.sb-maillage li{ margin:0; }
.sb-maillage li a{ display:flex; align-items:center; gap:12px; height:100%; padding:12px 16px; background:var(--fc-lin); border-radius:12px; font:600 15.5px/1.3 var(--fc-titre); color:var(--fc-reglisse); text-decoration:none; box-shadow:inset 0 0 0 1px var(--fc-trait); }
.sb-maillage li a::before{ content:""; flex:none; width:12px; height:12px; border-left:3px solid var(--fc-vin); border-bottom:3px solid var(--fc-vin); }
.sb-maillage li a:hover{ color:var(--fc-vin); background:var(--fc-argile); }
@media (max-width:700px){ .sb-maillage ul{ grid-template-columns:1fr; } }
.fc-sources{ margin:2.4em 0 44px; padding:22px 24px; background:var(--fc-argile); border-radius:18px; border-top:5px solid var(--fc-vin); }
.fc-sources-titre{ font-size:22px!important; margin:0 0 6px!important; }
.fc-sources-intro{ font-size:15px; color:var(--fc-taupe); margin:0 0 14px!important; }
.fc-sources-liste{ list-style:none; counter-reset:fcs; display:grid; gap:10px; margin:0!important; padding:0; }
.fc-sources-liste li{ counter-increment:fcs; display:flex; gap:12px; font-size:15.5px; line-height:1.45; }
.fc-sources-liste li::before{ content:counter(fcs); flex:none; width:24px; height:24px; display:grid; place-items:center; font:700 12px var(--fc-titre); color:#fff; background:var(--fc-vin); border-radius:6px; margin-top:2px; }
.fc-src-corps{ display:grid; gap:2px; min-width:0; overflow-wrap:anywhere; }
.fc-src-meta{ font-size:13.5px; color:var(--fc-taupe); }
.fc-maillage-titre{ font:700 20px var(--fc-titre); margin:2em 0 .6em; }
.sbt-btn{ border-radius:14px!important; font-family:var(--fc-titre); background:var(--fc-vin); }
.sbt-auteur{ background:var(--fc-argile); border:0; border-radius:24px; }
.sbt-auteur-role{ color:var(--fc-vin); }
.sbt-auteur-photo img, .sbt-auteur-photo svg{ border-radius:50%; }
/* passe 4 (réserve du juge n°3) : bloc auteur cohérent avec le site tout carré : pastilles carrées à filet réglisse, nom en grotesque grasse */
.sbt-auteur-nom{ font:800 clamp(24px,2vw,28px)/1.1 var(--fc-titre); letter-spacing:-.01em; }
.sbt-auteur-nom a{ color:var(--fc-reglisse); }
.sbt-auteur-chiffres span{ background:#fff; border:2px solid var(--fc-reglisse); border-radius:0; padding:6px 11px; font:600 13.5px/1.2 var(--fc-titre); color:var(--fc-reglisse); }
.sbt-auteur-chiffres b{ color:var(--fc-vin); }

/* À lire aussi : pleine largeur, jamais de case vide */
.fc-alire{ background:var(--fc-argile); padding:44px 0 56px; }
.fc-alire-titre{ font:800 28px/1.1 var(--fc-titre); margin:0 0 22px; }
.fc-alire-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start; }
.fc-alire-grille--n1{ grid-template-columns:minmax(0,520px); }
.fc-alire-grille--n2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:900px){ .fc-alire-grille, .fc-alire-grille--n2{ grid-template-columns:1fr; } .fc-alire-grille--n1{ grid-template-columns:1fr; } }

/* ===================== 8 bis. Corps d'article : blocs tirés du texte (corrections n°2, 18/10) =====================
   Matière unique : la GRILLE DE POLYVALENCE des ateliers — traits réglisse de 2 px, cases à angles vifs,
   glyphes I·L·U·O. Pas de carte arrondie à ombre grise : des cases, un fil, un carré qui se ferme. */
.sbt-article-corps > :first-child, .sbt-article-corps > .sbt-encadre:first-child{ margin-top:0!important; }
.fc-article .sbt-article-principal{ padding-top:36px; }

/* Points à retenir (bloc figé, habillage seul) : fiche de polyvalence claire, une case I-L-U-O par point */
.sbt-article-corps .sbt-encadre--retenir{ background:var(--fc-lin); color:var(--fc-reglisse); padding:0; border:2px solid var(--fc-reglisse); border-radius:4px; overflow:hidden; margin-block:0 2.2em; }
.sbt-article-corps .sbt-encadre--retenir .sbt-encadre-titre{ margin:0; padding:12px 18px 11px; background:var(--fc-argile); border-bottom:2px solid var(--fc-reglisse); color:var(--fc-reglisse); font:700 18px/1.2 var(--fc-titre); letter-spacing:0; text-transform:none; }
.sbt-article-corps .sbt-retenir-liste{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; background:var(--fc-reglisse); }
.sbt-article-corps .sbt-retenir-liste li{ position:relative; background:var(--fc-lin); padding:16px 18px 16px 52px; font-size:16px; line-height:1.5; }
.sbt-article-corps .sbt-retenir-liste li:last-child:nth-child(odd){ grid-column:1/-1; }
.sbt-article-corps .sbt-retenir-liste li::before{ left:18px; top:19px; width:18px; height:18px; border-radius:0; background:none; border:0 solid var(--fc-vin); }
.sbt-article-corps .sbt-retenir-liste li:nth-child(4n+1)::before{ border-left-width:3.5px; }
.sbt-article-corps .sbt-retenir-liste li:nth-child(4n+2)::before{ border-left-width:3.5px; border-bottom-width:3.5px; }
.sbt-article-corps .sbt-retenir-liste li:nth-child(4n+3)::before{ border-width:0 3.5px 3.5px 3.5px; }
.sbt-article-corps .sbt-retenir-liste li:nth-child(4n)::before{ border-width:3.5px; }

/* Sommaire (bloc figé, habillage seul) : un fil vertical, une case par section, cochée une fois lue */
.sbt-sommaire ol{ position:relative; gap:2px; }
.sbt-sommaire ol::before{ content:""; position:absolute; left:9px; top:10px; bottom:10px; width:2px; background:var(--fc-vin); opacity:.35; }
.sbt-sommaire li a{ position:relative; padding:4px 0; gap:12px; }
.fc-article .sbt-sommaire-num, .sbt-sommaire-num{ position:relative; z-index:1; width:20px; height:20px; padding:0; border:2px solid var(--fc-reglisse); border-radius:0; background:#fff; color:var(--fc-reglisse); font-size:0; overflow:hidden; }
.sbt-sommaire li.est-lu .sbt-sommaire-num{ border-color:var(--fc-vin); box-shadow:inset 0 0 0 3px #fff, inset 0 0 0 10px var(--fc-vin); }
.sbt-sommaire li.est-passe .sbt-sommaire-num{ border-color:var(--fc-olive); background:var(--fc-olive) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='square'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat; }
.sbt-sommaire li.est-passe a{ color:var(--fc-taupe); }

/* Grille de polyvalence : critères, organismes, éléments d'une liste (« … : a, b, c et d ») */
.fc-poly{ margin:1.8em 0; border:2px solid var(--fc-reglisse); border-radius:4px; overflow:hidden; background:var(--fc-reglisse); }
.fc-poly-tete{ margin:0!important; padding:12px 18px 11px; background:var(--fc-argile); font:700 17px/1.3 var(--fc-titre); color:var(--fc-reglisse); }
.fc-poly-grille{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin-top:2px; }
.fc-poly-tete + .fc-poly-grille{ margin-top:2px; }
.fc-poly:not(:has(.fc-poly-tete)) .fc-poly-grille{ margin-top:0; }
.fc-poly-case{ background:var(--fc-blanc); padding:16px 18px 18px; min-width:0; }
.fc-poly--impair .fc-poly-case:last-child{ grid-column:1/-1; }
/* listes : jamais de case vide — 3 ou 6 → 3 colonnes ; 4 → 2 × 2 ; 5 → 3 + 2 ; 7 → 4 + 3 */
.fc-poly--liste .fc-poly-grille{ grid-template-columns:repeat(12,minmax(0,1fr)); }
.fc-poly--liste .fc-poly-case{ grid-column:span 6; }
.fc-poly--liste.fc-poly--n3 .fc-poly-case, .fc-poly--liste.fc-poly--n6 .fc-poly-case{ grid-column:span 4; }
.fc-poly--liste.fc-poly--n5 .fc-poly-case{ grid-column:span 4; }
.fc-poly--liste.fc-poly--n5 .fc-poly-case:nth-child(n+4){ grid-column:span 6; }
.fc-poly--liste.fc-poly--n7 .fc-poly-case{ grid-column:span 3; }
.fc-poly--liste.fc-poly--n7 .fc-poly-case:nth-child(n+5){ grid-column:span 4; }
.fc-poly--liste.fc-poly--impair .fc-poly-case:last-child{ grid-column-end:auto; }
.fc-poly--liste .fc-poly-case{ display:flex; gap:12px; align-items:flex-start; padding:14px 16px; }
.fc-poly-marque{ display:block; line-height:0; color:var(--fc-olive); margin-bottom:10px; }
.fc-poly--liste .fc-poly-marque{ margin:2px 0 0; }
.fc-poly-marque .fc-glyphe{ width:24px; height:24px; }
.fc-poly-titre{ margin:0 0 6px!important; font:700 17.5px/1.25 var(--fc-titre); color:var(--fc-reglisse); }
.fc-poly-prec{ display:block; margin-top:2px; font:400 13.5px/1.3 var(--fc-lecture); color:var(--fc-taupe); }
.fc-poly-texte{ margin:0!important; font-size:16px; line-height:1.55; }
.fc-poly--liste .fc-poly-texte{ font:600 16px/1.35 var(--fc-titre); }

/* Fil d'étapes : une ligne lie-de-vin, une case par étape qui se remplit I → L → U → O */
.fc-fil{ margin:1.9em 0; }
.fc-fil-tete{ margin:0 0 14px!important; font:700 18px/1.3 var(--fc-titre); }
.fc-fil-liste{ list-style:none; margin:0!important; padding:0!important; display:grid!important; gap:0!important; position:relative; }
.fc-fil-liste::before{ content:""; position:absolute; left:19px; top:22px; bottom:22px; width:4px; background:var(--fc-vin); }
.fc-fil-pas{ position:relative; display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:18px; padding:0 0 18px!important; }
.fc-fil-pas:last-child{ padding-bottom:0!important; }
.sbt-article-corps .fc-fil-pas::before{ display:none; }
.fc-fil-case{ position:relative; z-index:1; width:42px; height:42px; display:grid; place-items:center; background:var(--fc-blanc); border:2px solid var(--fc-reglisse); color:var(--fc-vin); }
.fc-fil-case .fc-glyphe{ width:22px; height:22px; }
.fc-fil-corps{ padding:9px 0 0; min-width:0; }
.fc-fil-titre{ margin:0 0 4px!important; font:700 18px/1.25 var(--fc-titre); }
.fc-fil-prec{ font:400 14px var(--fc-lecture); color:var(--fc-taupe); }
.fc-fil-texte{ margin:0!important; font-size:16.5px; line-height:1.6; }
.fc-fil--coches .fc-fil-case{ background:var(--fc-olive); border-color:var(--fc-olive); color:#fff; }
.fc-fil--coches .fc-fil-case .fc-glyphe{ display:none; }
.fc-fil--coches .fc-fil-case::after{ content:""; width:16px; height:9px; border-left:3.5px solid #fff; border-bottom:3.5px solid #fff; transform:translateY(-2px) rotate(-45deg); }
.fc-fil--coches .fc-fil-liste::before{ background:var(--fc-olive); }
.fc-fil--coches .fc-fil-texte{ font:600 17px/1.4 var(--fc-titre); }

/* Cartes d'intertitres (profils, cas particuliers) : la case s'ouvre en L, l'intertitre porte son glyphe */
.fc-cartes-txt{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:1.6em 0 2em; }
.fc-cartes-txt--impair .fc-carte-txt:last-child{ grid-column:1/-1; }
.fc-carte-txt{ background:var(--fc-lin); padding:20px 22px 18px; border-left:5px solid var(--fc-vin); border-bottom:5px solid var(--fc-vin); min-width:0; }
.sbt-article-corps .fc-carte-txt-titre{ display:flex; align-items:center; gap:10px; margin:0 0 10px; font-size:20px; line-height:1.2; }
.fc-carte-txt-titre .fc-glyphe{ width:22px; height:22px; color:var(--fc-olive); }
.fc-carte-txt-p{ font-size:16px; line-height:1.58; margin:0 0 .7em!important; }
.fc-carte-txt-p:last-child{ margin-bottom:0!important; }

/* Organismes présentés par leur sigle : le sigle dans le carré ouvert du logo */
.fc-sigles{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:1.6em 0 2em; background:var(--fc-reglisse); border:2px solid var(--fc-reglisse); border-radius:4px; overflow:hidden; }
.fc-sigles--n3 .fc-sigle:last-child, .fc-sigles--n5 .fc-sigle:last-child, .fc-sigles--n7 .fc-sigle:last-child{ grid-column:1/-1; }
.fc-sigle{ background:var(--fc-blanc); padding:18px 20px 18px; min-width:0; }
.fc-sigle-nom{ display:inline-block; margin:0 0 10px!important; padding:4px 12px 4px 10px; border:4px solid var(--fc-vin); border-right-width:0; font:800 18px/1.15 var(--fc-titre); color:var(--fc-vin); letter-spacing:.01em; }
.fc-sigle-texte{ margin:0!important; font-size:15.5px; line-height:1.55; }

/* Deux intertitres jumeaux côte à côte (pour l'apprenant / pour l'employeur, avantages) */
.fc-duo{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:2.2em 0; border-top:2px solid var(--fc-reglisse); border-bottom:2px solid var(--fc-reglisse); }
.fc-duo-col{ padding:22px 24px 6px 0; min-width:0; }
.fc-duo-col + .fc-duo-col{ padding:22px 0 6px 24px; border-left:2px solid var(--fc-reglisse); }
.sbt-article-corps .fc-duo-col h2{ margin:0 0 14px; font-size:clamp(21px,1.8vw,25px); display:flex; gap:10px; align-items:flex-start; }
.sbt-article-corps .fc-duo-col h2::before{ content:""; flex:none; width:18px; height:18px; margin-top:.2em; border:0 solid var(--fc-vin); border-left-width:4px; border-bottom-width:4px; }
.sbt-article-corps .fc-duo-col + .fc-duo-col h2::before{ border-right-width:4px; }
.fc-point{ font-size:16px; line-height:1.6; margin:0 0 1em!important; }
.fc-point strong{ display:block; margin-bottom:2px; font:700 16.5px/1.35 var(--fc-titre); color:var(--fc-reglisse); }
.fc-duo .fc-poly, .fc-duo .fc-fil{ margin:1em 0 1.2em; }
.fc-duo .fc-poly-grille, .fc-duo .fc-poly--liste .fc-poly-grille{ grid-template-columns:1fr; }
.fc-duo .fc-poly--liste .fc-poly-case{ grid-column:auto!important; }

/* Limites, inconvénients : cartes de vigilance (angle supérieur rose) */
.fc-vigil{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:1.2em 0 2em; }
.fc-vigil .fc-point{ margin:0!important; padding:16px 18px; background:#fff; border:2px solid var(--fc-reglisse); border-top:8px solid var(--fc-rose); }
.fc-vigil .fc-point:last-child:nth-child(odd){ grid-column:1/-1; }

/* Définition : une ligne de la grille — le terme dans sa case réglisse, la phrase dans la case claire */
.fc-definition{ display:grid; grid-template-columns:minmax(150px,30%) minmax(0,1fr); margin:0 0 1.3em; border:2px solid var(--fc-reglisse); border-radius:4px; overflow:hidden; }
.fc-definition-terme{ margin:0!important; padding:16px 18px; background:var(--fc-reglisse); color:var(--fc-lin); font:700 17px/1.25 var(--fc-titre); display:flex; align-items:center; }
.fc-definition-texte{ margin:0!important; padding:16px 20px; background:var(--fc-lin); font-size:17px; line-height:1.55; }
@media (max-width:700px){ .fc-definition{ grid-template-columns:1fr; } .fc-definition-terme{ padding:10px 16px; } }

/* Exergue : la phrase quitte son paragraphe et se pose sur le fil, qui déborde du panneau à gauche */
.fc-exergue{ position:relative; margin:2em 0 2em -44px; padding:20px 0 0 44px; }
.fc-exergue::before{ content:""; position:absolute; left:0; top:0; width:min(320px,62%); height:6px; background:var(--fc-vin); }
.fc-exergue::after{ content:""; position:absolute; left:min(320px,62%); top:-7px; width:20px; height:20px; border:6px solid var(--fc-vin); border-left:0; box-sizing:border-box; }
.fc-exergue p{ margin:0!important; max-width:30em; font:600 clamp(21px,1.9vw,26px)/1.32 var(--fc-titre); color:var(--fc-reglisse); letter-spacing:-.005em; }

/* En résumé : le carré se ferme sur ses quatre côtés */
.fc-resume{ margin:2.4em 0 0; padding:24px 26px 22px; border:6px solid var(--fc-vin); background:var(--fc-lin); }
.sbt-article-corps .fc-resume-titre{ margin:0 0 10px!important; font-size:24px; }
.fc-resume p{ margin:0!important; font-size:17px; }

/* Sources : liens « page 1 ; page 2 » nommés par leur site */
.fc-src-nom{ font:700 15.5px/1.35 var(--fc-titre); color:var(--fc-reglisse); }
.fc-src-pages{ display:flex; flex-wrap:wrap; gap:4px 14px; }
.fc-src-lien--page{ font-size:14.5px; }

@media (min-width:1800px){ .fc-exergue{ margin-left:-52px; padding-left:52px; } }
@media (max-width:1080px){ .fc-exergue{ margin-left:-22px; padding-left:22px; } }
@media (max-width:700px){
	.sbt-article-corps .sbt-retenir-liste, .fc-poly-grille, .fc-cartes-txt, .fc-sigles, .fc-vigil{ grid-template-columns:1fr; }
	.fc-poly--liste .fc-poly-grille{ grid-template-columns:1fr; }
	.fc-poly--liste .fc-poly-case{ grid-column:auto!important; }
	.fc-duo{ grid-template-columns:1fr; }
	.fc-duo-col, .fc-duo-col + .fc-duo-col{ padding:18px 0 4px; border-left:0; }
	.fc-duo-col + .fc-duo-col{ border-top:2px solid var(--fc-reglisse); }
	.fc-exergue p{ font-size:20px; }
	.fc-carte-txt{ padding:16px 16px 14px; }
}

/* ===================== 9. Rubrique, listes ===================== */
.fc-rt{ padding:0 0 36px; }
.fc-rt--jetons{ padding-bottom:30px; }
.fc-rt-bloc{ position:relative; display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); background:var(--fc-reglisse); border-radius:0; min-height:300px; }
.fc-rt-texte{ padding:44px 44px 44px 48px; align-self:center; min-width:0; }
.fc-surtitre--rose{ color:var(--fc-rose); }
.fc-rt h1{ color:var(--fc-lin); font-weight:800; font-size:clamp(34px,3.9vw,56px); line-height:1.04; letter-spacing:-.012em; margin:0 0 14px; }
.fc-rt-chapo{ font:italic 400 clamp(17px,1.4vw,20px)/1.5 var(--fc-lecture); color:var(--fc-rose); margin:0; max-width:34em; }
.fc-rt-photo{ position:relative; border-radius:0; overflow:hidden; background:#3A2C26; min-height:240px; }
.fc-rt-photo img, .fc-rt-photo .fc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fc-rt-photo .fc-repli{ background:#3A2C26; color:rgba(243,183,196,.2); }
.fc-rt-jetons{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; list-style:none; margin:16px 0 0; }
.fc-rt-jetons li{ min-width:0; }
.fc-rt-jetons a{ display:flex; align-items:center; gap:12px; height:100%; min-height:68px; padding:10px 16px; background:#fff; border-radius:0; border:2px solid var(--fc-reglisse); box-shadow:none; color:var(--fc-reglisse); text-decoration:none; font:700 14.5px/1.25 var(--fc-titre); }
.fc-rt-jetons a:hover{ color:var(--fc-vin); background:var(--fc-lin); }
.fc-rt-jetons .fc-glyphe{ width:26px; height:26px; color:var(--fc-vin); }
.fc-rt-jetons span{ overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
@media (max-width:900px){
	.fc-rt-bloc{ grid-template-columns:1fr; }
	.fc-rt-photo{ order:-1; border-radius:24px 24px 0 0; min-height:150px; height:150px; }
	.fc-rt-texte, .fc-rt--jetons .fc-rt-texte{ padding:26px 22px 28px; }
	.fc-rt-jetons{ grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
	.fc-rt-jetons a{ padding:10px 12px; font-size:14px; }
	.fc-rt--jetons{ padding-bottom:24px; }
}
.fc-rt-liste{ padding:12px 0 76px; }
.fc-une{ margin:0 0 34px; }
.fc-une-lien{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); background:#fff; border-radius:0; border:2px solid var(--fc-reglisse); border-left:8px solid var(--fc-vin); box-shadow:none; overflow:hidden; color:inherit; text-decoration:none; max-height:min(440px,calc(100vh - 200px)); min-height:300px; }
.fc-une-photo{ position:relative; min-height:300px; background:var(--fc-argile); }
.fc-une-photo img, .fc-une-photo .fc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fc-une-corps{ padding:34px 38px; display:flex; flex-direction:column; justify-content:center; gap:8px; min-width:0; }
.fc-une-corps h2{ font-weight:800; font-size:clamp(24px,2.4vw,34px); line-height:1.12; }
.fc-une-lien:hover h2{ color:var(--fc-vin); }
.fc-une-corps p{ margin:0; color:var(--fc-taupe); font-size:17px; }
.fc-une-corps .fc-meta{ color:var(--fc-vin); font-weight:700; }
@media (max-width:820px){ .fc-une-lien{ grid-template-columns:1fr; max-height:none; } .fc-une-photo{ min-height:0; aspect-ratio:16/9; } .fc-une-corps{ padding:22px; } }
.fc-vide{ max-width:980px; margin:0 auto; text-align:center; padding:12px 0; }
.fc-vide h2{ font-size:clamp(26px,2.6vw,36px); margin:12px 0 10px; }
.fc-vide > p{ color:var(--fc-taupe); }
.fc-vide-glyphe{ width:60px; height:60px; color:var(--fc-vin); }
.fc-vide-liens{ list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:24px 0; text-align:left; }
.fc-vide-liens a{ display:flex; gap:14px; align-items:flex-start; padding:16px 18px; background:#fff; border-radius:16px; box-shadow:var(--fc-ombre); color:inherit; text-decoration:none; height:100%; }
.fc-vide-liens a:hover b{ color:var(--fc-vin); }
.fc-vide-liens .fc-glyphe{ width:28px; height:28px; color:var(--fc-vin); margin-top:2px; }
.fc-vide-liens span{ display:grid; gap:3px; font:400 15px/1.4 var(--fc-lecture); color:var(--fc-taupe); }
.fc-vide-liens b{ font:700 17px var(--fc-titre); color:var(--fc-reglisse); }
.fc-passerelle{ margin-top:56px; }
.fc-passerelle h2{ font-size:28px; margin:0 0 14px; }
.fc-passerelle .fc-vide-liens{ margin:0; }
@media (max-width:700px){ .fc-vide-liens{ grid-template-columns:1fr; } }

.fc-lt{ background:var(--fc-argile); padding:0 0 40px; }
.fc-lt-tete{ display:grid; gap:12px; max-width:760px; }
.fc-lt-glyphe{ width:40px; height:40px; color:var(--fc-vin); }
.fc-lt h1{ font-weight:800; font-size:clamp(32px,3.6vw,52px); line-height:1.05; letter-spacing:-.012em; }
.fc-lt-chapo{ font:italic 400 19px/1.5 var(--fc-lecture); color:var(--fc-taupe); }
.fc-recherche{ display:flex; gap:10px; width:100%; max-width:660px; }
.fc-recherche input{ flex:1; min-width:0; min-height:54px; padding:0 16px; border:2px solid rgba(94,82,76,.35); border-radius:14px; background:#fff; font:500 17px var(--fc-titre); color:var(--fc-reglisse); }
.fc-recherche .fc-picto{ width:20px; height:20px; }
.fc-nb-resultats{ margin:0 0 20px; }
.fc-titre-liste{ font-size:28px; margin:0 0 22px; }
@media (max-width:560px){ .fc-recherche{ flex-direction:column; } }
.fc-lt--page{ padding-bottom:32px; }
.fc-page{ padding:36px 0 80px; }
.fc-page-corps{ max-width:860px; background:#fff; border-radius:24px; padding:40px 44px; box-shadow:var(--fc-ombre); }
@media (max-width:700px){ .fc-page-corps{ padding:24px 20px; border-radius:18px; } }
.fc-404{ padding:56px 0 88px; text-align:center; }
.fc-404 .fc-conteneur{ max-width:900px; }
.fc-404-glyphe{ width:96px; height:96px; color:var(--fc-vin); }
.fc-404 h1{ font-weight:800; font-size:clamp(30px,3.6vw,48px); margin:6px 0 12px; }
.fc-404-texte{ color:var(--fc-taupe); }
.fc-404 .fc-recherche{ margin:20px auto 8px; }

.fc-auteur-tete{ background:var(--fc-argile); padding:0 0 44px; }
.fc-auteur-bloc{ display:flex; gap:36px; align-items:center; }
.fc-auteur-portrait .avatar{ width:160px; height:160px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 6px #fff, var(--fc-ombre); }
.fc-auteur-texte h1{ font-weight:800; font-size:clamp(32px,3.4vw,48px); margin:0 0 10px; }
.fc-auteur-bio{ font-size:18px; color:var(--fc-taupe); max-width:46em; margin:0 0 14px; }
.fc-auteur-reperes{ list-style:none; display:flex; gap:12px; flex-wrap:wrap; }
.fc-auteur-reperes li{ padding:8px 14px; background:#fff; border-radius:12px; font:500 14px var(--fc-titre); color:var(--fc-taupe); }
.fc-auteur-reperes b{ color:var(--fc-vin); font-size:18px; margin-right:4px; }
@media (max-width:700px){ .fc-auteur-bloc{ flex-direction:column; align-items:flex-start; gap:20px; } .fc-auteur-portrait .avatar{ width:110px; height:110px; } }

/* ===================== 10. Contact, À propos ===================== */
.fc-contact{ padding:0 0 56px; }
.fc-contact-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); grid-template-areas:"tete form" "photo form" "cas cas" "opco opco"; grid-template-rows:auto 1fr auto auto; column-gap:72px; row-gap:22px; align-items:start; }
.fc-contact-tete{ grid-area:tete; }
.fc-contact-tete h1{ font-weight:800; font-size:clamp(36px,4vw,60px); line-height:1.02; letter-spacing:-.015em; margin:0 0 16px; }
.fc-contact-photo{ grid-area:photo; align-self:stretch; height:auto; min-height:190px; max-height:420px; border-radius:18px; overflow:hidden; background:var(--fc-argile); box-shadow:var(--fc-ombre); }
.fc-contact-photo img, .fc-contact-photo .fc-repli{ width:100%; height:100%; object-fit:cover; }
.fc-contact-form{ grid-area:form; padding:36px 24px 0 0; } /* corrections n°3 : le cadre lie-de-vin (inset -24px) s’arrête sur le bord droit des 3 cartes */
.fc-o{ position:relative; background:#fff; border-radius:24px; padding:30px 32px 28px; box-shadow:var(--fc-ombre-forte); }
.fc-o::before{ content:""; position:absolute; inset:-24px; border:10px solid var(--fc-vin); pointer-events:none; z-index:-1; }
.fc-o-titre{ font-size:24px; margin:0 0 16px; }
.fc-champs-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fc-champ{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; min-width:0; }
.fc-champ label{ font:700 15px var(--fc-titre); }
.fc-champ input, .fc-champ textarea{ width:100%; min-height:52px; padding:12px 14px; border:2px solid rgba(94,82,76,.3); border-radius:12px; background:var(--fc-lin); font:500 17px/1.4 var(--fc-titre); color:var(--fc-reglisse); }
.fc-champ textarea{ min-height:130px; resize:vertical; font-family:var(--fc-lecture); }
.fc-form-consentement--contact{ margin:0 0 14px; font-size:13px; }
.fc-contact-formulaire .fc-btn{ width:100%; min-height:58px; font-size:18px; }
.fc-contact-cas{ grid-area:cas; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:20px; }
.fc-contact-cas li{ display:flex; gap:16px; align-items:flex-start; padding:20px 22px; background:#fff; border-radius:18px; box-shadow:var(--fc-ombre); }
.fc-contact-cas .fc-glyphe{ width:34px; height:34px; color:var(--fc-vin); flex:none; }
.fc-contact-cas h3{ font-size:19px; margin:0 0 4px; }
.fc-contact-cas p{ margin:0; font-size:15.5px; color:var(--fc-taupe); line-height:1.5; }
.fc-contact-opco{ grid-area:opco; margin:0; color:var(--fc-taupe); }
.fc-contact-plan{ background:var(--fc-argile); padding:52px 0; }
.fc-contact-plan-grille{ display:grid; grid-template-columns:minmax(0,1fr) 440px; gap:56px; align-items:center; }
.fc-contact-plan h2{ font-weight:800; font-size:clamp(28px,3vw,40px); margin:10px 0 12px; }
.fc-contact-plan p{ color:var(--fc-taupe); font-size:18px; max-width:30em; }
@media (max-width:980px){
	.fc-contact-grille{ grid-template-columns:1fr; grid-template-rows:none; grid-template-areas:"photo" "tete" "form" "cas" "opco"; row-gap:16px; }
	.fc-contact-photo{ height:220px; min-height:0; }
	.fc-contact-tete .fc-chapo, .fc-contact-tete .fc-surtitre{ display:none; }
	.fc-contact-tete h1{ font-size:32px; margin:0; }
	.fc-contact-tete .fc-ariane{ display:none; }
	.fc-contact-form{ padding:20px 16px 0 14px; }
	.fc-o{ padding:20px 18px 18px; }
	.fc-o::before{ inset:-14px; border-width:6px; }
	.fc-o-titre{ font-size:20px; margin-bottom:10px; }
	.fc-champs-2{ gap:10px; }
	.fc-champ{ margin-bottom:10px; }
	.fc-champ input{ min-height:46px; padding:8px 10px; font-size:16px; }
	.fc-champ textarea{ min-height:88px; height:96px; }
	.fc-contact-cas{ grid-template-columns:1fr; }
	.fc-contact-plan-grille{ grid-template-columns:1fr; gap:26px; }
}

.fc-ap-hero{ padding:28px 0 64px; }
.fc-ap-hero-grille{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:72px; align-items:center; }
.fc-ap-hero h1{ font-weight:800; font-size:clamp(36px,4.2vw,64px); line-height:1.03; letter-spacing:-.015em; margin:0 0 16px; }
.fc-ap-hero-texte > p{ max-width:34em; }
.fc-ap-hero-photo{ padding:24px 24px 24px 0; }
.fc-o--photo{ padding:0; border-radius:18px; background:var(--fc-argile); aspect-ratio:4/3; box-shadow:var(--fc-ombre); }
.fc-o--photo::before{ border-left-width:10px; z-index:0; }
.fc-o--photo img, .fc-o--photo .fc-repli{ position:relative; z-index:1; width:100%; height:100%; object-fit:cover; border-radius:18px; }
.fc-ap-grille{ background:var(--fc-argile); padding:52px 0 56px; }
.fc-ap-grille h2, .fc-ap-methode h2{ font-weight:800; font-size:clamp(28px,3vw,40px); margin:0 0 10px; }
.fc-ap-chapo{ color:var(--fc-taupe); margin:0 0 24px; max-width:40em; }
.fc-matrice-cadre{ background:#fff; border-radius:24px; box-shadow:var(--fc-ombre); padding:10px 22px; overflow-x:auto; }
.fc-matrice{ width:100%; border-collapse:collapse; min-width:560px; }
.fc-matrice th{ font:600 12.5px var(--fc-titre); letter-spacing:.08em; text-transform:uppercase; color:var(--fc-taupe); padding:14px 10px; text-align:center; }
.fc-matrice tbody th{ text-align:left; text-transform:none; letter-spacing:0; }
.fc-matrice tbody tr{ border-top:1px solid var(--fc-trait); }
.fc-matrice td{ text-align:center; padding:12px 10px; }
.fc-matrice-nom{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--fc-reglisse); font:700 17px var(--fc-titre); }
.fc-matrice-nom .avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; }
.fc-matrice-g{ width:30px; height:30px; color:var(--fc-vin); }
.fc-matrice-vide{ display:inline-block; width:18px; height:2px; background:rgba(94,82,76,.3); vertical-align:middle; }
.fc-legende{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 24px; margin:18px 0 0; font:500 14px var(--fc-titre); color:var(--fc-taupe); }
.fc-legende li{ display:flex; align-items:center; gap:8px; }
.fc-legende .fc-glyphe{ width:20px; height:20px; color:var(--fc-vin); }
.fc-ap-methode{ padding:56px 0; }
.fc-methode{ list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-top:26px; }
.fc-methode li{ background:#fff; border-radius:18px; box-shadow:var(--fc-ombre); padding:24px 22px 26px; }
.fc-methode-g{ width:52px; height:52px; color:var(--fc-vin); margin-bottom:14px; }
.fc-methode h3{ font-size:20px; margin:0 0 8px; }
.fc-methode p{ margin:0; font-size:16px; color:var(--fc-taupe); line-height:1.55; }
.fc-ap-independance{ background:var(--fc-lin); color:var(--fc-reglisse); padding:30px 0 34px; }
.fc-ap-independance .fc-conteneur{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 32px; }
.fc-ap-independance .fc-conteneur::before{ content:""; flex:0 0 100%; height:2px; margin-bottom:12px; background:var(--fc-reglisse); }
.fc-ap-grande{ font:600 19px/1.4 var(--fc-titre); color:var(--fc-reglisse); max-width:44em; margin:0; }
.fc-ap-suite{ color:var(--fc-taupe); margin:0; font-size:16px; }
.fc-ap-suite a{ color:var(--fc-vin); }
@media (max-width:980px){
	.fc-ap-hero-grille{ grid-template-columns:1fr; gap:36px; }
	.fc-ap-hero-photo{ padding:16px 16px 16px 8px; }
	.fc-methode{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px){
	.fc-ap-hero{ padding-top:8px; }
	.fc-matrice-cadre{ background:transparent; box-shadow:none; padding:0; overflow:visible; border-radius:0; }
	.fc-matrice, .fc-matrice tbody, .fc-matrice tr, .fc-matrice th, .fc-matrice td{ display:block; min-width:0; width:auto; }
	.fc-matrice thead{ display:none; }
	.fc-matrice tbody{ display:grid; gap:14px; }
	.fc-matrice tbody tr{ border:0; background:#fff; border-radius:18px; box-shadow:var(--fc-ombre); padding:12px 16px 8px; }
	.fc-matrice tbody th{ padding:2px 0 10px; border-bottom:1px solid var(--fc-trait); }
	.fc-matrice td{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; text-align:left; border-bottom:1px solid var(--fc-trait); }
	.fc-matrice td:last-child{ border-bottom:0; }
	.fc-matrice td::before{ content:attr(data-label); font:600 15px var(--fc-titre); color:var(--fc-reglisse); }
	.fc-matrice-g{ width:26px; height:26px; }
}
@media (max-width:560px){ .fc-methode{ grid-template-columns:1fr; } }

/* ===================== 11. Pied de page (bloc figé habillé), cookies, popup ===================== */
.sbt-footer.fc-pied{ background:var(--fc-reglisse); color:var(--fc-lin); padding:56px 0 22px; position:relative; overflow:hidden; margin:0; }
.sbt-footer.fc-pied a{ color:var(--fc-pale); text-decoration:none; }
.sbt-footer.fc-pied a:hover{ color:var(--fc-lin); text-decoration:underline; text-underline-offset:3px; }
.sbt-footer.fc-pied a.fc-btn{ color:var(--fc-reglisse); }
.sbt-footer.fc-pied a.fc-btn:hover{ color:var(--fc-reglisse); text-decoration:none; }
/* DA-11 : le pied est une grille de polyvalence — rubriques en lignes, filets, cases ILUO ; marque à gauche */
.fc-pied-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.2fr); gap:56px; padding:0 0 30px; align-items:start; border-bottom:0; }
.fc-pied-ecrire{ margin-bottom:22px!important; }
.sbt-footer-colonne{ position:relative; z-index:1; }
.fc-pied-logo{ display:inline-block; margin-bottom:14px; }
.sbt-footer-desc{ color:var(--fc-pale); font:400 15px/1.55 var(--fc-lecture); max-width:34ch; margin:0 0 14px; }
.fc-pied-identite{ margin:0 0 18px; padding-left:12px; border-left:3px solid var(--fc-rose); font:400 14px/1.55 var(--fc-lecture); color:var(--fc-lin); max-width:36ch; }
.fc-pied-ecrire{ margin:0; font:500 15px/1.4 var(--fc-titre); color:var(--fc-pale); }
.sbt-footer.fc-pied .fc-pied-ecrire a{ color:var(--fc-rose); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; font-weight:700; }
.fc-pied-tab{ width:100%; border-collapse:collapse; border-top:2px solid var(--fc-lin); border-bottom:2px solid var(--fc-lin); font:500 15px/1.3 var(--fc-titre); }
.fc-pied-tab th, .fc-pied-tab td{ padding:15px 16px; text-align:left; vertical-align:middle; border-bottom:2px solid rgba(250,246,242,.22); }
.fc-pied-tab th + td, .fc-pied-tab td + td{ border-left:2px solid rgba(250,246,242,.22); }
.fc-pied-tab thead th{ padding-block:9px; font:600 13px/1.2 var(--fc-titre); color:var(--fc-rose); border-bottom:2px solid var(--fc-lin); }
.fc-pied-tab thead th + th{ border-left:2px solid rgba(250,246,242,.22); }
.fc-pied-tab tbody th{ font-weight:700; width:30%; white-space:nowrap; }
.sbt-footer.fc-pied .fc-pied-tab tbody th a{ color:var(--fc-lin); }
.fc-pied-col-dernier a{ display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.fc-pied-n{ width:84px; text-align:center!important; font:700 17px var(--fc-titre); color:var(--fc-lin); font-variant-numeric:tabular-nums; }
.fc-pied-g{ width:64px; text-align:center!important; line-height:0; }
.fc-pied-g .fc-glyphe{ width:24px; height:24px; color:var(--fc-rose); }
.fc-pied-tab tbody tr:hover{ background:rgba(250,246,242,.05); }
.fc-pied-marque{ display:flex; flex-direction:column; align-self:stretch; }
.fc-pied-outils{ margin-top:auto; padding-top:14px; border-top:2px solid var(--fc-lin); border-bottom:2px solid var(--fc-lin); padding-bottom:14px; }
.fc-pied-outils-titre{ margin:0 0 8px; font:600 13px/1.2 var(--fc-titre); color:var(--fc-rose); }
.fc-pied-outils ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 20px; font:500 15px/1.3 var(--fc-titre); }
.fc-pied-bas{ display:flex; justify-content:space-between; gap:8px 24px; flex-wrap:wrap; padding:18px 0 0; border-top:1px solid rgba(250,246,242,.14); font:400 13px/1.4 var(--fc-titre); color:var(--fc-pale); }
@media (max-width:980px){ .fc-pied-grille{ grid-template-columns:1fr; gap:30px; } }
@media (max-width:700px){
	.fc-pied-col-dernier{ display:none; }
	.fc-pied-tab th, .fc-pied-tab td{ padding:11px 10px; }
	.fc-pied-tab tbody th{ white-space:normal; width:auto; }
	.fc-pied-n{ width:64px; } .fc-pied-g{ width:48px; }
	.sbt-footer.fc-pied{ padding-top:40px; }
}

.sbt-cookies{ position:fixed; left:20px; right:auto; bottom:20px; width:min(430px, calc(100vw - 40px)); z-index:80; background:var(--fc-reglisse); color:var(--fc-lin); border-radius:16px; border:1.5px solid var(--fc-rose); padding:12px 14px 12px 16px; display:none; align-items:center; gap:14px; max-height:none; overflow:visible; box-shadow:0 18px 40px -14px rgba(36,26,22,.6); }
.sbt-cookies.est-visible{ display:flex; }
.sbt-cookies p{ margin:0; flex:1; min-width:0; font:400 13.5px/1.35 var(--fc-lecture); color:var(--fc-lin); }
.sbt-cookies-actions{ display:flex; gap:8px; flex:none; }
.sbt-cookies .sbt-btn{ min-height:44px; padding:6px 14px; background:transparent; color:var(--fc-rose); border:2px solid var(--fc-rose); font:700 15px var(--fc-titre); }
.sbt-cookies .sbt-btn:hover{ background:var(--fc-rose); color:var(--fc-reglisse); transform:none; box-shadow:none; }
@media (max-width:700px){
	.sbt-cookies{ left:0; right:0; bottom:0; width:auto; border-radius:14px 14px 0 0; border:0; border-top:3px solid var(--fc-rose); padding:8px 12px; gap:10px; }
	.sbt-cookies p{ font-size:13px; line-height:1.3; }
	.sbt-cookies .sbt-btn{ padding:6px 12px; font-size:14px; }
}
.sbt-popup-sortie-fond{ background:rgba(36,26,22,.72); }

/* ===================== 12. Divers ===================== */
/* FAQ du bloc figé : l'icône d'origine est bleue — reprise en lie-de-vin, accordéon aux angles de la maison. */
.sbt-faq{ border:0; background:var(--fc-argile); }
.sbt-faq-liste details{ border-radius:14px; }
.sbt-faq-liste summary{ font-family:var(--fc-titre); font-weight:700; font-size:17px; }
.sbt-faq-liste summary::after{ border-radius:8px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A1E3F' stroke-width='2.6' stroke-linecap='square'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 15px no-repeat; box-shadow:inset 0 0 0 2px var(--fc-vin); }
.sbt-faq-reponse{ font-family:var(--fc-lecture); font-size:16.5px; color:var(--fc-reglisse); }
.sbt-encadre--retenir .sbt-encadre-titre{ color:var(--fc-rose); }
.sbt-retenir-liste li::before{ border-radius:4px; }
.fc-btn--plein{ width:100%; }

/* Infographies du socle ([sbs_lieu], [sbs_tarifs], [sbs_frise], [sbs_jauges]) : balisage neutre, habillage ici. */
sbs-lieu, sbs-tarifs, sbs-frise, sbs-jauges{ display:block; margin:1.8em 0; padding:22px 24px; background:var(--fc-lin); border-radius:0 18px 18px 0; border-left:6px solid var(--fc-vin); border-bottom:6px solid var(--fc-vin); }
.sbs_tarifs_titre, .sbs_frise_titre, .sbs_jauges_titre, .sbs_lieu_nom{ display:block; font:700 19px/1.25 var(--fc-titre); color:var(--fc-reglisse); margin:0 0 12px; }
.sbs_source{ display:block; margin-top:12px; font:400 13px/1.4 var(--fc-lecture); color:var(--fc-taupe); }
.sbs_lieu_adresse{ font-style:normal; margin:0 0 4px; }
.sbs_lieu_acces{ display:block; color:var(--fc-taupe); margin-bottom:8px; }
.sbs_lieu_carte{ display:inline-flex; align-items:center; gap:8px; font:700 15px var(--fc-titre); color:var(--fc-vin); }
.sbs_icone_repere{ width:22px; height:22px; fill:currentColor; }
sbs-tarif{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto; gap:6px 14px; align-items:center; padding:9px 0; border-top:1px solid var(--fc-trait); }
.sbs_tarif_libelle{ font:500 15px/1.35 var(--fc-titre); color:var(--fc-reglisse); }
.sbs_tarif_prix{ font:700 17px var(--fc-titre); white-space:nowrap; font-variant-numeric:tabular-nums; }
meter.sbs_tarif_barre{ -webkit-appearance:none; appearance:none; width:100%; height:12px; border:0; border-radius:3px; background:var(--fc-argile); font-size:0; }
meter.sbs_tarif_barre::-webkit-meter-bar{ background:var(--fc-argile); border:0; border-radius:3px; height:12px; }
meter.sbs_tarif_barre::-webkit-meter-optimum-value, meter.sbs_tarif_barre::-webkit-meter-suboptimum-value, meter.sbs_tarif_barre::-webkit-meter-even-less-good-value{ background:var(--fc-vin); border-radius:3px; }
meter.sbs_tarif_barre::-moz-meter-bar{ background:var(--fc-vin); border-radius:3px; }
.sbs_tarifs_notes{ display:block; margin-top:10px; color:var(--fc-taupe); font-size:14px; }
sbs-etape{ display:grid; grid-template-columns:140px minmax(0,1fr); gap:2px 18px; padding:12px 0 12px 22px; border-left:3px solid var(--fc-vin); position:relative; }
sbs-etape::before{ content:""; position:absolute; left:-9px; top:18px; width:15px; height:15px; background:var(--fc-lin); border:3px solid var(--fc-vin); }
.sbs_etape_date{ grid-row:1 / span 2; font:700 15px/1.3 var(--fc-titre); color:var(--fc-vin); }
.sbs_etape_titre{ font:700 17px var(--fc-titre); }
.sbs_etape_desc{ grid-column:2; color:var(--fc-taupe); font-size:15.5px; line-height:1.5; }
sbs-jauges{ display:flex; flex-wrap:wrap; gap:18px 36px; align-items:flex-end; }
sbs-jauges .sbs_jauges_titre, sbs-jauges .sbs_source{ flex:1 0 100%; margin:0; }
sbs-jauge{ display:grid; gap:2px; min-width:140px; }
.sbs_jauge_libelle{ font:500 14px/1.3 var(--fc-titre); color:var(--fc-taupe); }
.sbs_jauge_valeur{ font:700 clamp(36px,4vw,52px)/1 var(--fc-titre); color:var(--fc-vin); font-variant-numeric:tabular-nums; }
.sbs_jauge_unite{ font:500 14px var(--fc-titre); color:var(--fc-taupe); }
@media (max-width:620px){ sbs-tarif{ grid-template-columns:1fr auto; } sbs-tarif meter{ grid-column:1/-1; grid-row:2; } sbs-etape{ grid-template-columns:1fr; } .sbs_etape_date{ grid-row:auto; } .sbs_etape_desc{ grid-column:1; } }
.fc-ariane + *{ margin-top:0; }
.alignwide, .alignfull{ max-width:100%; }
.wp-block-image img, .sbt-article-corps figure{ max-width:100%; }
.sbt-article-corps figure{ margin:1.6em 0; }
.sbt-article-corps figcaption{ font:400 14px/1.4 var(--fc-lecture); color:var(--fc-taupe); margin-top:8px; }
@media print{ .fc-entete, .sbt-cookies, .fc-form-carte, .fc-pied{ display:none!important; } }
/* 18/10 : contact mobile — formulaire d'abord (premier écran), photo lisible ensuite (jamais masquée : rendu_page). */
@media (max-width:700px){ .fc-contact-grille{ grid-template-areas:"tete" "form" "photo" "cas" "opco"; } .fc-contact-tete{ padding-top:14px; } .fc-contact-photo{ height:200px; min-height:0; max-height:200px; } .fc-contact-photo{ margin-top:var(--fc-contact-air, 24px); } }

/* ===================== 13. DA-11 : angles vifs partout (18/10) =====================
   Les surfaces blanches posées sur le lin perdent leur ombre : un filet réglisse de 2 px les dessine. */
.fc-article .sbt-article-principal, .fc-article .sbt-rail, .fc-page-corps, .fc-o, .fc-contact-cas li, .fc-matrice-cadre,
.fc-methode li, .fc-form-carte, .fc-vide-liens a, .fc-article .fc-form-carte--rail{ border-radius:0; box-shadow:none; border:2px solid var(--fc-reglisse); }
.fc-article .sbt-rail .fc-form-carte--rail{ border-width:0 0 0 0; border-top:2px solid var(--fc-reglisse); }
.fc-outil-photo, .fc-ae-cadre, .fc-contact-photo, .fc-o--photo, .fc-o--photo img, .fc-o--photo .fc-repli, .fc-auteur-reperes li, .fc-ap-non li,
.fc-champ input, .fc-champ textarea, .sbt-faq-liste details, .sbt-faq-liste summary::after, .fc-autre-liste, .fc-form-email input[type=email],
.fc-tuile, .fc-rep-opco, .fc-opco-bandeau, .fc-outil-champ input, .fc-form-retour, .sbt-cookies, .sbt-cookies .sbt-btn, .sbt-btn,
.sbt-article-corps img, .fc-final-cadre, .fc-rt-photo{ border-radius:0; }
@media (max-width:700px){ .fc-matrice tbody tr{ border-radius:0; box-shadow:none; border:2px solid var(--fc-reglisse); } .fc-page-corps{ border-radius:0; } .fc-form-carte{ border-radius:0; } .sbt-cookies{ border-radius:0; } }
.fc-ae-pastille, .fc-ae-cadre, .sbt-sommaire, .fc-rail-lien, .fc-etape, .fc-etape-n, .sb-maillage li a, .fc-sources, .sbt-auteur,
.sbt-article-corps .sbt-encadre--retenir, .fc-poly, .fc-sigles, .fc-definition, .fc-fiche, .fc-recherche input, .fc-jeton-rub,
sbs-lieu, sbs-tarifs, sbs-frise, sbs-jauges{ border-radius:0; }
.sbt-btn{ border-radius:0!important; }
