/* BLOCS FIGÉS (thématique) — posés tels quels depuis sb-kit/gabarits-design/blocs-valides/
   thematique/. Seules les valeurs des var(--sb-*) sont fournies par ce site (style.css) ;
   aucune règle ci-dessous n'est réécrite. */

/* ---- single-article.css ---- */
.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; 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; } }
.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: 1fr; } }
.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; }
.sbt-sommaire-mobile{ display: none; }
@media (max-width: 1080px){ .sbt-sommaire-mobile{ display: block; margin-bottom: 24px; } }
@media (max-width: 1080px){ .sbt-rail-carte--sommaire{ display: none; } }
.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); }

/* ---- partial-sidebar.css ---- */
.sbt-rail{ position: sticky; top: 112px; align-self: start; display: flex; flex-direction: column; gap: 20px; border-left: 1px solid var(--sb-filet, #e2e5ef); padding-left: 20px; }
.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; }
@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; } }

/* ---- partial-sommaire.css ---- */
.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; }

/* ---- partial-encadres.css ---- */
.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; }
.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; }
.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; } }

/* ---- partial-faq.css ---- */
.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; } }

/* ---- partial-bloc-auteur.css ---- */
.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; } }

/* ---- footer.css ---- */
.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: var(--sb-clair-sur-fonce,#c4c7e4); text-decoration: none; }
.sbt-footer a:hover{ color: #fff; }
.sbt-footer-cta{ display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12); }
.sbt-footer-cta .sbt-t3{ color: #fff; margin: 0 0 4px; font-size: 1.25rem; font-family: var(--sb-titre); }
.sbt-footer-cta p{ color: var(--sb-clair-sur-fonce,#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: var(--sb-clair-sur-fonce,#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: 6px; }
.sbt-footer-desc{ color: var(--sb-clair-sur-fonce,#a9acd0); font-size: .9375rem; margin: 0; max-width: 32ch; }
.sbt-footer-bas{ padding-top: 20px; font-size: .8125rem; color: var(--sb-clair-sur-fonce,#8b8fb5); }
.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; }
.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; }

/*
Theme Name: Lésion cérébrale 74
Theme URI: https://lesioncerebrale74.fr/
Author: Lésion cérébrale 74
Description: Thème code-pur. Rééducation après AVC et traumatisme crânien, aides et
  adaptation du logement, en Haute-Savoie et partout en France. Mode clair uniquement.
Version: 1.0.0
Text Domain: lc74
Requires PHP: 7.4
*/

/* =========================================================================
   0. POLICES — auto-hébergées, déposées par l'orchestrateur dans assets/fonts/.
   ========================================================================= */
@font-face{
	font-family:'Rasa';
	src:url('../fonts/rasa-var.woff2') format('woff2-variations'), url('../fonts/rasa-var.woff2') format('woff2');
	font-weight:300 700; font-style:normal; font-display:swap;
}
@font-face{
	font-family:'Atkinson Hyperlegible Next';
	src:url('../fonts/atkinson-next-var.woff2') format('woff2-variations'), url('../fonts/atkinson-next-var.woff2') format('woff2');
	font-weight:200 800; font-style:normal; font-display:swap;
}

/* =========================================================================
   1. JETONS DE DESIGN — propres à ce site. Mode clair uniquement (DA §13).
   ========================================================================= */
:root{
	/* fond + cartes */
	--sb-fond:#EDF2EF;           /* Givre */
	--sb-surf:#EDF2EF;
	--sb-fond-carte:#FFFFFF;
	/* encre + texte */
	--sb-encre:#1D2B30;          /* Ardoise — couleur du texte/titres */
	--sb-doux:#4A5A5E;           /* Ardoise douce — texte secondaire */
	--sb-texte:'Atkinson Hyperlegible Next', system-ui, -apple-system, Arial, sans-serif; /* police de lecture */
	--sb-titre:'Rasa', Georgia, 'Times New Roman', serif;
	/* accent par défaut (lac) — remplacé en inline-style sur les pages de thème */
	--sb-accent:#0B5D73;
	--sb-accent-clair:#E2ECEE;
	/* bande sombre */
	--sb-fonce:#13303A;          /* Nuit d'alpage */
	--sb-sur-fonce:#FFFFFF;
	--sb-clair-sur-fonce:#C9D6D2;
	/* jaune balise */
	--sb-jaune:#F2C12E;
	--sb-jaune-encre:#1D2B30;
	/* alerte */
	--sb-alerte:#9A2B35;
	/* filets */
	--sb-filet:#C9D4CF;
	/* rayons + ombres */
	--sb-rayon:18px;
	--sb-rayon-grand:28px;
	--sb-rayon-plaque:3px;
	--sb-ombre:0 12px 32px -14px rgba(19,48,58,.28);
	--sb-ombre-forte:0 24px 60px -18px rgba(19,48,58,.38);
	/* grille */
	--sb-conteneur:1240px;
	--sb-lecture:720px;
	--sb-rail:340px;
	--sb-gouttiere:clamp(16px,4vw,48px);
	/* courbe de récupération — un seul tracé, toujours le même (DA §6.1) */
	--lc-courbe-haut:polygon(0% 34%,10% 20%,22% 11%,36% 5%,52% 1.5%,70% 0%,100% 0%,100% 100%,0% 100%);
	--lc-courbe-bas:polygon(0% 0%,100% 0%,100% 66%,70% 100%,52% 100%,36% 95%,22% 89%,10% 80%,0% 66%);
	--lc-hauteur-entete:96px;
}
@media (max-width:980px){ :root{ --lc-hauteur-entete:72px; } }

/* =========================================================================
   2. RESET + BASE
   ========================================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; } }
body{
	margin:0; background:var(--sb-fond); color:var(--sb-encre);
	font-family:var(--sb-texte); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
	padding-top:var(--lc-hauteur-entete);
}
img{ max-width:100%; display:block; }
fieldset{ border:0; margin:0; padding:0; min-width:0; }
legend{ padding:0; }
a{ color:var(--sb-accent); }
h1,h2,h3,h4{ font-family:var(--sb-titre); font-weight:500; color:var(--sb-encre); line-height:1.15; margin:0 0 .5em; }
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; }
::selection{ background:var(--sb-jaune); color:var(--sb-jaune-encre); }
:focus-visible{ outline:3px solid var(--sb-jaune); outline-offset:2px; border-radius:4px; }
.lc-sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.lc-saut{ position:absolute; left:-9999px; top:0; background:var(--sb-fond-carte); color:var(--sb-encre); padding:10px 16px; z-index:200; border-radius:0 0 8px 0; }
.lc-saut:focus{ left:0; }

.lc-conteneur{ max-width:var(--sb-conteneur); margin-inline:auto; padding-inline:var(--sb-gouttiere); }
/* Repli photo — tant qu'une photo attendue n'est pas encore déposée, un aplat
   dégradé occupe la boîte (couleur du thème) plutôt qu'une case vide ou cassée ;
   hérite toujours du rayon/overflow du conteneur parent. */
.lc-repli-couleur{ width:100%; height:100%; display:block; }
.lc-courbe-haut{ clip-path:var(--lc-courbe-haut); }
.lc-courbe-bas{ clip-path:var(--lc-courbe-bas); }

.lc-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;
	padding:13px 26px; border-radius:999px; font-weight:700; font-size:1rem; font-family:var(--sb-texte);
	background:var(--sb-accent); color:#fff; text-decoration:none; border:0; cursor:pointer;
	transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.lc-btn:hover{ transform:translateY(-2px); box-shadow:var(--sb-ombre); }
.lc-btn--grand{ padding:16px 30px; font-size:1.0625rem; width:100%; }
.lc-btn--fantome{ background:transparent; border:1.5px solid var(--sb-filet); color:var(--sb-encre); }
.lc-btn--sombre-fantome{ background:transparent; border:1.5px solid rgba(255,255,255,.45); color:#fff; }
.lc-btn--petit{ padding:9px 16px; font-size:.875rem; }

.lc-pastille{
	display:inline-flex; align-items:center; gap:6px; font-family:var(--sb-texte); font-weight:600; font-size:.8125rem;
	padding:6px 14px; border-radius:999px; text-decoration:none;
}
.lc-pastille--theme{ background:var(--sb-accent); color:#fff; }
.lc-pastille--claire{ background:var(--sb-accent-clair); color:var(--sb-accent); }
.lc-pastille--jalon{ background:var(--sb-jaune); color:var(--sb-jaune-encre); font-weight:700; }
.lc-pastille--alerte, .lc-vite-texte p.lc-pastille--alerte{ background:var(--sb-alerte); color:#fff; display:inline-block; width:auto; }

.lc-plaque{
	position:absolute; display:inline-flex; align-items:center; gap:8px; background:var(--sb-jaune); color:var(--sb-jaune-encre);
	font-family:var(--sb-texte); font-weight:700; font-size:.8125rem; padding:9px 16px 9px 20px;
	border-radius:var(--sb-rayon-plaque); box-shadow:var(--sb-ombre); clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%);
}

/* =========================================================================
   3. EN-TÊTE DU SITE
   ========================================================================= */
.lc-entete{
	position:fixed; inset:0 0 auto 0; z-index:100; height:var(--lc-hauteur-entete);
	background:var(--sb-fond); border-bottom:1px solid var(--sb-filet);
	display:flex; align-items:center; transition:height .2s ease;
}
.lc-entete-grille{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.lc-nav-gauche,.lc-nav-droite{ display:flex; align-items:center; gap:18px; list-style:none; }
.lc-nav-gauche{ flex:1; }
.lc-nav-droite{ flex:1; justify-content:flex-end; }
.lc-nav-lien{ background:none; border:0; cursor:pointer; font:inherit; color:var(--sb-encre); text-decoration:none; font-weight:600; font-size:.9375rem; padding:8px 4px; font-family:var(--sb-texte); display:inline-flex; align-items:center; gap:6px; }
.lc-nav-lien:hover{ color:var(--sb-accent); }
.lc-logo-bloc{ display:flex; flex-direction:column; align-items:center; text-decoration:none; flex-shrink:0; }
.lc-logo-bloc svg{ height:34px; width:auto; }
.lc-devise{ margin:2px 0 0; font-size:.75rem; color:var(--sb-accent); font-weight:500; letter-spacing:.01em; }
.lc-recherche-bouton{ background:none; border:0; cursor:pointer; color:var(--sb-encre); display:flex; padding:6px; }
.lc-burger{ display:none; background:none; border:0; cursor:pointer; padding:8px; }

.lc-mega{ position:absolute; top:100%; left:0; background:var(--sb-fond-carte); box-shadow:var(--sb-ombre-forte); border-radius:0 0 var(--sb-rayon-grand) var(--sb-rayon-grand); padding:28px var(--sb-gouttiere); display:grid; grid-template-columns:repeat(3,220px); gap:16px; }
.lc-mega[hidden]{ display:none; }
.lc-mega a{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--sb-encre); padding:8px; border-radius:12px; }
.lc-mega a:hover{ background:var(--sb-surf); }
.lc-mega-vignette{ width:44px; height:44px; border-radius:10px; overflow:hidden; flex-shrink:0; display:block; }
.lc-mega-vignette img{ width:100%; height:100%; object-fit:cover; display:block; }
.lc-mega span{ font-weight:600; font-size:.875rem; }

.lc-recherche-panneau{ position:absolute; top:100%; right:var(--sb-gouttiere); background:var(--sb-fond-carte); box-shadow:var(--sb-ombre-forte); border-radius:var(--sb-rayon); padding:16px; width:min(90vw,380px); }
.lc-recherche-panneau[hidden]{ display:none; }
.lc-recherche-panneau form{ display:flex; gap:8px; }
.lc-recherche-panneau input{ flex:1; border:1px solid var(--sb-filet); border-radius:10px; padding:10px 12px; font:inherit; }

@media (max-width:980px){
	.lc-nav-gauche{ display:none; }
	.lc-burger{ display:flex; }
	.lc-nav-droite{ gap:10px; }
	.lc-nav-droite .lc-nav-lien[data-lc-recherche]{ display:none; }
}

/* menu plein écran mobile */
.lc-menu-mobile{ position:fixed; inset:0; z-index:150; background:var(--sb-fond); display:none; flex-direction:column; padding:24px var(--sb-gouttiere); overflow-y:auto; }
.lc-menu-mobile.est-ouvert{ display:flex; }
.lc-menu-mobile-tete{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.lc-menu-mobile ul{ list-style:none; display:flex; flex-direction:column; gap:4px; }
.lc-menu-mobile a,.lc-menu-mobile button{ display:flex; align-items:center; gap:10px; padding:14px 4px; font-size:1.125rem; font-weight:600; color:var(--sb-encre); text-decoration:none; border-bottom:1px solid var(--sb-filet); background:none; border-left:0; border-right:0; border-top:0; text-align:left; width:100%; font-family:var(--sb-texte); cursor:pointer; }
.lc-menu-mobile .lc-sous{ display:flex; flex-direction:column; gap:2px; padding-left:16px; }
.lc-menu-mobile .lc-sous[hidden]{ display:none; }
.lc-menu-mobile-cta{ margin-top:20px; }

/* barre basse mobile — apparaît seulement une fois le hero dépassé */
.lc-barre-mobile{ position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--sb-fond-carte); border-top:1px solid var(--sb-filet); box-shadow:0 -8px 24px rgba(19,48,58,.12); padding:10px var(--sb-gouttiere); display:none; }
body.lc-hero-depasse .lc-barre-mobile{ display:block; }
@media (min-width:981px){ .lc-barre-mobile{ display:none !important; } }

/* =========================================================================
   4. HERO (S1)
   ========================================================================= */
.lc-hero{ position:relative; background:var(--sb-fond); padding-block:12px 24px; overflow:hidden; }
.lc-hero > .lc-conteneur{ max-width:1760px; }
.lc-hero-grille{
	position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr);
	grid-template-areas:"texte visuel" "preuves visuel";
	column-gap:clamp(24px,4vw,56px); row-gap:14px;
}
.lc-hero-texte{ grid-area:texte; }
.lc-hero-pastille{ margin-bottom:14px; }
.lc-hero h1{ font-size:clamp(2.25rem,1.1rem + 2.6vw,4.5rem); line-height:1.08; margin-bottom:16px; }
.lc-hero h1 .lc-ton-a{ color:var(--sb-encre); display:block; }
.lc-hero h1 .lc-ton-b{ color:var(--sb-accent); display:block; }
.lc-hero-chapo{ font-size:clamp(1.0625rem,1rem + .3vw,1.3125rem); color:var(--sb-doux); max-width:46ch; margin-bottom:0; }
.lc-hero-preuves{ grid-area:preuves; align-self:start; display:flex; flex-wrap:wrap; gap:10px 22px; list-style:none; }
.lc-hero-preuves li{ display:flex; align-items:center; gap:8px; font-size:.9375rem; font-weight:600; color:var(--sb-encre); }
.lc-hero-preuves svg{ width:18px; height:18px; color:var(--sb-accent); flex-shrink:0; }

.lc-hero-visuel{ grid-area:visuel; align-self:center; position:relative; }
.lc-hero-photo{ position:relative; border-radius:var(--sb-rayon-grand); overflow:hidden; box-shadow:var(--sb-ombre-forte); aspect-ratio:16/12; min-height:360px; max-height:600px; }
.lc-hero-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-hero-plaque{ top:24px; right:24px; }

.lc-hero-carte{
	position:relative; margin-top:-220px; margin-left:-64px; width:min(480px,calc(100% - 20px));
	background:var(--sb-fond-carte); border-radius:20px; box-shadow:var(--sb-ombre-forte); padding:14px 22px 14px; z-index:5;
}
@media (max-width:1180px){ .lc-hero-carte{ margin-left:0; } }

@media (max-width:980px){
	.lc-hero{ padding-block:16px 28px; }
	.lc-hero-grille{ grid-template-columns:1fr; grid-template-areas:"texte" "visuel" "preuves"; row-gap:16px; }
	.lc-hero h1{ font-size:clamp(1.75rem,1.45rem + 2vw,2.25rem); line-height:1.12; }
	.lc-hero-chapo{ max-width:none; }
	/* Priorité absolue de la mission (04/10) : à 390×700, titre + bouton « Être orienté »
	   (bandeau fixe) + UNE IMAGE visibles sans défiler. La photo passe donc avant la carte
	   (le formulaire, lui, peut continuer sous le pli — il n'est pas dans ce critère). */
	.lc-hero-visuel{ display:flex; flex-direction:column; gap:14px; align-self:auto; }
	.lc-hero-photo{ order:1; aspect-ratio:16/9; min-height:0; height:170px; border-radius:var(--sb-rayon); }
	.lc-hero-carte{ order:2; margin:0; margin-left:0; width:100%; padding:16px 18px; }
	.lc-hero-preuves{ gap:8px 18px; }
	.lc-signature-courbe--hero{ display:none; }
	.lc-form-choix{ grid-template-columns:1fr; gap:10px; }
	.lc-choix{ padding:14px 16px; font-size:.9375rem; }
}

/* =========================================================================
   4bis. SIGNATURE DU SITE — courbe de récupération + 5 jalons (DA §6.1/§6.3),
   partagée par le hero (S1) et l'en-tête d'article (§16) pour que le procédé qui
   fait l'unicité du site (R12) soit visible dès le premier écran, pas seulement
   dans la section « Où en êtes-vous ? ». Purement décoratif (aria-hidden),
   jamais interactif, jamais au-dessus du texte lisible.
   ========================================================================= */
.lc-signature-courbe{ position:absolute; left:0; right:0; bottom:4%; height:64px; z-index:0; pointer-events:none; }
.lc-signature-courbe-svg{ width:100%; height:100%; display:block; }
.lc-signature-courbe-svg path{ fill:none; stroke:var(--sb-jaune); stroke-width:3; stroke-linecap:round; opacity:.8; }
.lc-signature-jalon{
	position:absolute; top:0; transform:translateX(-50%); width:22px; height:22px; border-radius:50%;
	background:var(--sb-jaune); color:var(--sb-jaune-encre); font-family:var(--sb-texte); font-weight:700; font-size:.75rem;
	display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 3px rgba(255,255,255,.6);
}
.lc-signature-courbe--entete{ bottom:auto; top:38%; opacity:.9; }
@media (max-width:1180px){ .lc-signature-courbe--entete{ display:none; } }

/* =========================================================================
   5. FORMULAIRE MULTI-ÉTAPES — carte, jamais une hauteur qui sort du hero.
   ========================================================================= */
.lc-form-carte{ display:flex; flex-direction:column; }
.lc-form-titre{ font-family:var(--sb-titre); font-size:1.125rem; margin:0 0 4px; line-height:1.2; }
.lc-form-sous{ font-size:.8125rem; color:var(--sb-doux); margin:0 0 8px; line-height:1.35; }
.lc-form-progres{ height:6px; background:var(--sb-surf); border-radius:999px; overflow:hidden; margin-bottom:4px; }
.lc-form-progres span{ display:block; height:100%; background:var(--sb-accent); border-radius:999px; transition:width .3s ease; width:25%; }
.lc-form-etape-label{ font-size:.75rem; color:var(--sb-doux); margin:0 0 6px; font-weight:600; }
.lc-form-leurre{ position:absolute; left:-9999px; }
.lc-form-etape legend{ font-family:var(--sb-titre); font-size:.9375rem; font-weight:500; color:var(--sb-encre); padding:0; margin:0 0 6px; }
.lc-form-choix{ display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.lc-choix{ position:relative; display:flex; align-items:center; gap:8px; border:1.5px solid var(--sb-filet); border-radius:12px; padding:9px 10px; cursor:pointer; font-size:.78125rem; line-height:1.2; font-weight:600; color:var(--sb-encre); background:var(--sb-fond-carte); transition:border-color .15s ease, background .15s ease; }
.lc-choix:hover{ border-color:var(--sb-accent); }
.lc-choix input{ position:absolute; opacity:0; width:1px; height:1px; }
.lc-choix::after{ content:""; width:20px; height:20px; border-radius:50%; border:2px solid var(--sb-filet); flex-shrink:0; order:2; margin-left:auto; }
.lc-choix:has(input:checked){ border-color:var(--sb-accent); background:var(--sb-accent-clair); }
.lc-choix:has(input:checked)::after{ border-color:var(--sb-accent); background:var(--sb-accent) 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; }
/* Choix « secondaire » rendu en lien texte (pas une carte) — garde la carte du formulaire
   compacte (R2 : la carte doit finir entière au-dessus du pli à 1440×780 et 1920×950). */
.lc-choix--lien{ border:0; background:none; padding:8px 2px 0; margin-top:2px; }
.lc-choix--lien::after{ display:none; }
.lc-choix--lien span{ text-decoration:underline; color:var(--sb-doux); font-weight:600; }
.lc-choix--lien:has(input:checked) span{ color:var(--sb-accent); }
.lc-choix--lien:has(input:checked){ background:none; }
.lc-form-ligne{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
.lc-champ{ display:flex; flex-direction:column; gap:5px; font-size:.8125rem; font-weight:600; color:var(--sb-doux); }
.lc-champ input,.lc-champ textarea{ border:1.5px solid var(--sb-filet); border-radius:12px; padding:12px 14px; font:inherit; font-size:.9375rem; color:var(--sb-encre); background:var(--sb-fond-carte); }
.lc-champ input:focus,.lc-champ textarea:focus{ border-color:var(--sb-accent); }
.lc-champ textarea{ min-height:130px; resize:vertical; }
.lc-form-carte--contact{ width:100%; }
.lc-form-carte--contact .lc-form-ligne{ grid-template-columns:1fr 1fr; }
@media (max-width:640px){ .lc-form-carte--contact .lc-form-ligne{ grid-template-columns:1fr; } }
.lc-consentement{ display:flex; gap:10px; align-items:flex-start; font-size:.8125rem; line-height:1.45; color:var(--sb-doux); margin:12px 0 16px; cursor:pointer; }
.lc-consentement input{ margin-top:3px; flex-shrink:0; width:18px; height:18px; accent-color:var(--sb-accent); }
.lc-form-retour{ background:none; border:0; color:var(--sb-doux); font-weight:600; font-size:.8125rem; cursor:pointer; padding:8px 0; margin-bottom:6px; }
.lc-form-retour:hover{ color:var(--sb-encre); }
.lc-form-envoyer{ width:100%; margin-top:4px; }
.lc-form-reassurance{ font-size:.75rem; color:var(--sb-doux); line-height:1.5; margin:12px 0 0; }
.lc-form-confirmation{ font-size:1rem; font-weight:600; color:var(--sb-encre); padding:18px 0; text-align:center; }
.lc-form-carte--rail .lc-form-sous,.lc-form-carte--rail .lc-form-reassurance{ display:none; }
.lc-form-carte--rail .lc-form-titre{ font-size:1rem; }
.lc-form-carte--rail{ padding:0; }
.lc-form-carte--rubrique{ background:var(--sb-fond-carte); border-radius:var(--sb-rayon-grand); padding:28px; color:var(--sb-encre); }

/* =========================================================================
   6. S2 — LE PARCOURS DE RÉCUPÉRATION
   ========================================================================= */
.lc-parcours{ background:var(--sb-fonce); color:var(--sb-sur-fonce); padding-block:56px; }
.lc-parcours h2{ color:#fff; font-size:clamp(1.75rem,1.5rem + 1vw,2.5rem); }
.lc-parcours-intro{ color:var(--sb-clair-sur-fonce); max-width:58ch; margin-bottom:36px; }
.lc-parcours-svg{ width:100%; height:auto; margin-bottom:8px; }
.lc-parcours-courbe{ fill:none; stroke:var(--sb-jaune); stroke-width:3; stroke-linecap:round; stroke-dasharray:1000; stroke-dashoffset:1000; transition:stroke-dashoffset .9s ease; }
.lc-parcours.est-visible .lc-parcours-courbe{ stroke-dashoffset:0; }
.lc-jalons{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; list-style:none; margin-top:-8px; }
.lc-jalon{ text-align:center; }
.lc-jalon-photo{ width:96px; height:96px; border-radius:50%; overflow:hidden; border:3px solid var(--sb-jaune); margin:0 auto 14px; opacity:0; transform:translateY(10px); transition:opacity .5s ease, transform .5s ease; }
.lc-parcours.est-visible .lc-jalon-photo{ opacity:1; transform:none; }
.lc-jalon:nth-child(2) .lc-jalon-photo{ transition-delay:.1s; }
.lc-jalon:nth-child(3) .lc-jalon-photo{ transition-delay:.2s; }
.lc-jalon:nth-child(4) .lc-jalon-photo{ transition-delay:.3s; }
.lc-jalon:nth-child(5) .lc-jalon-photo{ transition-delay:.4s; }
.lc-jalon-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-jalon-num{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--sb-jaune); color:var(--sb-jaune-encre); font-weight:700; font-size:.75rem; margin-bottom:8px; }
.lc-jalon h3{ color:#fff; font-size:1.125rem; margin-bottom:6px; }
.lc-jalon p{ color:var(--sb-clair-sur-fonce); font-size:.875rem; margin-bottom:10px; }
.lc-jalon a{ color:var(--sb-jaune); font-size:.8125rem; font-weight:600; text-decoration:none; }
.lc-jalon a:hover{ text-decoration:underline; }
@media (max-width:900px){
	.lc-jalons{ grid-template-columns:1fr; gap:22px; max-height:none; }
	.lc-parcours-svg{ display:none; }
}

/* =========================================================================
   7. S3 — PAR OÙ COMMENCER (6 thèmes)
   ========================================================================= */
.lc-themes{ background:var(--sb-fond-carte); padding-block:44px; }
.lc-themes .lc-theme-photo{ aspect-ratio:2/1; }
.lc-themes-grille{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lc-theme-tuile{ position:relative; text-decoration:none; color:inherit; display:block; }
.lc-theme-photo{ position:relative; border-radius:var(--sb-rayon); overflow:hidden; box-shadow:var(--sb-ombre); aspect-ratio:16/10; }
.lc-theme-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.lc-theme-tuile:hover .lc-theme-photo img{ transform:scale(1.03); }
.lc-theme-tuile:hover .lc-theme-photo{ box-shadow:var(--sb-ombre-forte); }
.lc-theme-liseret{ height:6px; border-radius:0 0 6px 6px; margin-top:0; }
.lc-theme-pastille{ position:absolute; left:14px; bottom:14px; }
.lc-theme-corps{ padding:20px 4px 0; }
.lc-theme-corps h3{ font-size:1.25rem; margin-bottom:4px; }
.lc-theme-compteur{ font-size:.8125rem; color:var(--sb-doux); font-weight:600; margin-bottom:6px; }
.lc-theme-corps p{ font-size:.9375rem; color:var(--sb-doux); margin:0; }
@media (max-width:980px){ .lc-themes-grille{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .lc-themes-grille{ grid-template-columns:1fr; grid-auto-flow:column; grid-auto-columns:82%; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; } .lc-theme-tuile{ scroll-snap-align:start; } }

/* =========================================================================
   8. S4 — LES GUIDES LES PLUS UTILES
   ========================================================================= */
.lc-guides{ background:var(--sb-fond); padding-block:40px; }
.lc-guides .lc-carte-grande .lc-carte-photo{ aspect-ratio:5/2; }
.lc-guides .lc-carte-grande-corps{ padding:20px 24px; }
.lc-guides-grille{ display:grid; grid-template-columns:7fr 5fr; gap:26px; align-items:stretch; }
.lc-carte-grande{ background:var(--sb-fond-carte); border-radius:var(--sb-rayon-grand); overflow:hidden; box-shadow:var(--sb-ombre); text-decoration:none; color:inherit; display:block; }
.lc-carte-grande .lc-carte-photo{ position:relative; aspect-ratio:16/10; }
.lc-carte-grande .lc-carte-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-carte-grande-corps{ padding:24px; }
.lc-carte-grande-corps h3{ font-size:1.625rem; margin-bottom:10px; }
.lc-carte-grande-corps p{ color:var(--sb-doux); margin-bottom:14px; }
.lc-guides-petites{ display:flex; flex-direction:column; gap:18px; height:100%; }
/* R5 : jamais de vide > 120 px dans une carte — l'excédent de hauteur va à la photo,
   jamais en case blanche sous une carte plus courte que sa voisine. */
.lc-carte-horiz{ flex:1; display:grid; grid-template-columns:150px 1fr; gap:16px; background:var(--sb-fond-carte); border-radius:var(--sb-rayon); overflow:hidden; box-shadow:var(--sb-ombre); text-decoration:none; color:inherit; }
.lc-carte-horiz .lc-carte-photo{ position:relative; aspect-ratio:auto; height:100%; min-height:140px; }
.lc-carte-horiz .lc-carte-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-carte-horiz-corps{ padding:14px 16px 14px 0; display:flex; flex-direction:column; justify-content:center; min-height:150px; }
.lc-carte-horiz-corps h3{ font-size:1.0625rem; margin-bottom:6px; }
.lc-carte-horiz-corps p{ font-size:.8125rem; color:var(--sb-doux); margin:0; }
.lc-carte-pastilles{ position:absolute; top:10px; left:10px; display:flex; gap:6px; flex-wrap:wrap; }
.lc-auteur-mini{ display:flex; align-items:center; gap:8px; margin-top:12px; font-size:.8125rem; color:var(--sb-doux); }
.lc-auteur-mini img{ width:26px; height:26px; border-radius:50%; object-fit:cover; }
@media (max-width:900px){ .lc-guides-grille{ grid-template-columns:1fr; } .lc-carte-horiz{ grid-template-columns:120px 1fr; } .lc-carte-horiz-corps{ min-height:120px; } }

/* =========================================================================
   9. S5 — CHIFFRES CLÉS
   ========================================================================= */
.lc-chiffres{ background:var(--sb-accent); color:#fff; padding-block:48px; }
.lc-chiffres-grille{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:28px; }
.lc-chiffres h2{ color:#fff; font-size:clamp(1.5rem,1.3rem + 1vw,2.0625rem); max-width:36ch; margin:0; }
.lc-chiffre-tuile{ background:rgba(255,255,255,.12); border-radius:var(--sb-rayon); padding:22px 20px; text-align:left; }
.lc-chiffre-valeur{ font-family:var(--sb-texte); font-variant-numeric:tabular-nums lining-nums; font-weight:700; font-size:clamp(2.25rem,1.8rem + 1.6vw,3.5rem); display:block; line-height:1; margin-bottom:8px; }
.lc-chiffre-libelle{ font-size:.9375rem; font-weight:600; margin-bottom:10px; display:block; }
.lc-chiffre-source{ font-size:.75rem; opacity:.82; display:block; }
.lc-chiffre-source a{ color:#fff; text-decoration:underline; }
@media (max-width:980px){ .lc-chiffres-grille{ grid-template-columns:repeat(2,1fr); } }

/* =========================================================================
   10. S6 — RECONNAÎTRE UN AVC (VITE)
   ========================================================================= */
.lc-vite{ background:var(--sb-fond-carte); padding-block:44px; border-top:1px solid var(--sb-filet); border-bottom:1px solid var(--sb-filet); }
.lc-vite-grille{ display:flex; align-items:center; gap:32px; flex-wrap:wrap; }
.lc-vite-cases{ display:flex; gap:14px; flex:1; min-width:280px; border-left:4px solid var(--sb-alerte); padding-left:20px; flex-wrap:wrap; }
.lc-vite-case{ text-align:center; width:80px; }
.lc-vite-picto{ display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:var(--sb-alerte-clair,#F7E3E3); color:var(--sb-alerte); margin:0 auto 8px; }
.lc-vite-picto svg{ width:30px; height:30px; }
.lc-vite-case span{ font-size:.75rem; font-weight:700; color:var(--sb-encre); }
.lc-vite-texte{ flex:1; min-width:220px; }
.lc-vite-texte p{ margin:0 0 14px; color:var(--sb-doux); }
@media (max-width:760px){
	.lc-vite-cases{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; border-left:0; padding-left:0; border-top:4px solid var(--sb-alerte); padding-top:16px; flex-wrap:nowrap; }
	.lc-vite-case{ width:auto; }
	.lc-vite-picto{ width:52px; height:52px; margin:0 auto 6px; }
	.lc-vite-picto svg{ width:24px; height:24px; }
}

/* =========================================================================
   11. S7 — LES PROCHES AIDANTS
   ========================================================================= */
.lc-aidants{ position:relative; min-height:560px; display:flex; align-items:center; overflow:hidden; padding-block:56px; background-color:#13303A; }
.lc-aidants-fond{ position:absolute; inset:0; z-index:0; }
.lc-aidants-fond img{ width:100%; height:100%; object-fit:cover; }
.lc-aidants-fond::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(19,48,58,.9) 0%, rgba(19,48,58,.68) 42%, rgba(19,48,58,.32) 62%, rgba(19,48,58,.08) 82%); }
.lc-aidants-corps{ position:relative; z-index:1; color:#fff; max-width:560px; padding-block:70px; }
.lc-aidants-corps h2{ color:#fff; font-size:clamp(1.75rem,1.5rem + 1vw,2.5rem); }
.lc-aidants-corps p{ color:var(--sb-clair-sur-fonce); max-width:46ch; }
.lc-aidants-liens{ display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; }
.lc-aidants-liens a{ background:rgba(255,255,255,.16); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.3); color:#fff; padding:14px 18px; border-radius:14px; text-decoration:none; font-weight:600; font-size:.9375rem; }
.lc-aidants-liens a:hover{ background:rgba(255,255,255,.26); }
@media (max-width:760px){ .lc-aidants{ min-height:0; } .lc-aidants-corps{ padding-block:40px; max-width:100%; } .lc-aidants-fond::after{ background:linear-gradient(180deg, rgba(19,48,58,.35) 0%, rgba(19,48,58,.88) 70%); } }

/* =========================================================================
   12. S8 — ACTUALITÉ
   ========================================================================= */
.lc-actu{ background:var(--sb-fond); padding-block:52px; }
.lc-actu-grille{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:28px; }
.lc-carte-actu{ background:var(--sb-fond-carte); border-radius:var(--sb-rayon); overflow:hidden; box-shadow:var(--sb-ombre); text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.lc-carte-actu .lc-carte-photo{ aspect-ratio:16/10; position:relative; }
.lc-carte-actu .lc-carte-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-carte-actu-corps{ padding:16px; flex:1; display:flex; flex-direction:column; }
.lc-carte-actu-date{ font-size:.75rem; color:var(--sb-doux); font-weight:600; margin-bottom:6px; }
.lc-carte-actu-corps h3{ font-size:1rem; margin:0; }
@media (max-width:980px){ .lc-actu-grille{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .lc-actu-grille{ grid-template-columns:1fr; } }

/* =========================================================================
   13. S9 — ÊTRE ORIENTÉ
   ========================================================================= */
.lc-orientation{ background:var(--sb-accent-clair); border-radius:var(--sb-rayon-grand); margin:56px var(--sb-gouttiere); padding:48px clamp(24px,4vw,56px); }
.lc-orientation-grille{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; max-width:calc(var(--sb-conteneur) - 2*var(--sb-gouttiere)); margin-inline:auto; }
.lc-orientation-etapes{ list-style:none; display:flex; flex-direction:column; gap:20px; margin:24px 0; }
.lc-orientation-etapes li{ display:flex; gap:14px; align-items:flex-start; }
.lc-orientation-num{ width:34px; height:34px; border-radius:50%; background:var(--sb-jaune); color:var(--sb-jaune-encre); font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.lc-orientation-confidentialite{ font-size:.8125rem; color:var(--sb-doux); margin-top:18px; }
@media (max-width:900px){ .lc-orientation{ margin:40px 0; border-radius:0; } .lc-orientation-grille{ grid-template-columns:1fr; gap:28px; } }

/* =========================================================================
   14. S10 — FAQ ACCUEIL (réutilise les classes sbt-faq du bloc figé)
   ========================================================================= */
.lc-faq-accueil{ background:var(--sb-fond-carte); padding-block:56px; }
.lc-faq-accueil .sbt-faq{ margin:28px 0 0; background:var(--sb-surf); }
.lc-faq-accueil .sbt-faq-liste{ grid-template-columns:1fr 1fr; display:grid; gap:10px; }
@media (max-width:760px){ .lc-faq-accueil .sbt-faq-liste{ grid-template-columns:1fr; } }

/* =========================================================================
   15. RUBRIQUE (category.php) — bandeau photo + plaque + filtres
   ========================================================================= */
.lc-rubrique-bandeau{ position:relative; height:420px; }
.lc-rubrique-bandeau img{ width:100%; height:100%; object-fit:cover; }
.lc-rubrique-plaque{
	position:relative; margin-top:-120px; margin-bottom:40px; max-width:680px; background:var(--sb-fond-carte);
	border-radius:20px; box-shadow:var(--sb-ombre-forte); padding:28px 32px;
}
.lc-rubrique-plaque h1{ font-size:clamp(2rem,1.6rem + 1.6vw,3.75rem); color:var(--sb-accent); margin:10px 0 12px; }
.lc-rubrique-plaque p{ color:var(--sb-doux); margin-bottom:12px; }
.lc-rubrique-compteurs{ font-size:.875rem; color:var(--sb-doux); font-weight:600; }
.lc-filtres{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; list-style:none; }
.lc-filtre{ background:var(--sb-fond-carte); border:1.5px solid var(--sb-filet); border-radius:999px; padding:9px 18px; font-size:.875rem; font-weight:600; color:var(--sb-encre); text-decoration:none; }
.lc-filtre.est-actif,.lc-filtre:hover{ border-color:var(--sb-accent); background:var(--sb-accent-clair); color:var(--sb-accent); }
.lc-une-rubrique{ display:grid; grid-template-columns:1.4fr 1fr; gap:22px; margin-bottom:40px; }
.lc-une-rubrique .lc-carte-grande .lc-carte-photo{ aspect-ratio:auto; height:clamp(320px, calc(100vh - 260px), 480px); }
.lc-une-rubrique-petites{ display:flex; flex-direction:column; gap:18px; }
.lc-grille-articles{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:40px; }
.lc-carte-article{ background:var(--sb-fond-carte); border-radius:var(--sb-rayon); overflow:hidden; box-shadow:var(--sb-ombre); text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.lc-carte-article:hover{ transform:translateY(-4px); box-shadow:var(--sb-ombre-forte); }
.lc-carte-article .lc-carte-photo{ aspect-ratio:16/10; position:relative; }
.lc-carte-article .lc-carte-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-carte-article-corps{ padding:16px; flex:1; display:flex; flex-direction:column; }
.lc-carte-article-corps h3{ font-size:1.0625rem; margin:0 0 8px; }
.lc-carte-article-corps p{ font-size:.875rem; color:var(--sb-doux); margin:0; flex:1; }
.lc-charger-plus{ text-align:center; margin:12px 0 44px; }
.lc-charger-plus[hidden]{ display:none; }
.lc-autres-themes{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-bottom:48px; }
.lc-autre-theme{ text-decoration:none; color:inherit; text-align:center; }
.lc-autre-theme-vignette{ display:block; width:100%; aspect-ratio:1/1; border-radius:14px; overflow:hidden; margin-bottom:8px; }
.lc-autre-theme-vignette img{ width:100%; height:100%; object-fit:cover; display:block; }
.lc-autre-theme span{ font-size:.8125rem; font-weight:600; }
.lc-bandeau-orientation{ background:var(--sb-fonce); border-radius:var(--sb-rayon-grand); padding:40px clamp(20px,4vw,48px); margin-bottom:56px; color:#fff; }
.lc-bandeau-orientation h2{ color:#fff; }
.lc-bandeau-orientation-grille{ display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
@media (max-width:980px){ .lc-une-rubrique{ grid-template-columns:1fr; } .lc-grille-articles{ grid-template-columns:repeat(2,1fr); } .lc-autres-themes{ grid-template-columns:repeat(3,1fr); } .lc-bandeau-orientation-grille{ grid-template-columns:1fr; } }
@media (max-width:620px){ .lc-grille-articles{ grid-template-columns:1fr; } .lc-rubrique-bandeau{ height:220px; } .lc-rubrique-plaque{ margin-top:-48px; padding:20px; } }

/* =========================================================================
   16. ENTÊTE D'ARTICLE — pièce unique de la DA (§8)
   ========================================================================= */
.lc-entete-article{ margin-bottom:0; }
.lc-entete-bande{ background:var(--sb-accent-clair); padding-block:48px 150px; }
.lc-entete-bande .lc-fil-ariane{ font-size:.8125rem; color:var(--sb-doux); display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.lc-entete-bande .lc-fil-ariane a{ color:var(--sb-doux); text-decoration:none; }
.lc-entete-pastilles{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.lc-entete-col-titre{ max-width:var(--sb-lecture); }
.lc-entete-col-titre h1{ font-size:clamp(2rem,1.6rem + 1.4vw,3.5rem); margin-bottom:16px; }
.lc-entete-chapo{ font-size:1.25rem; color:var(--sb-doux); margin-bottom:20px; }
.lc-entete-meta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:.875rem; color:var(--sb-doux); }
.lc-entete-meta img{ width:40px; height:40px; border-radius:50%; object-fit:cover; }
.lc-entete-meta a{ color:var(--sb-encre); font-weight:700; text-decoration:none; }
/* .lc-entete-bas EST la grille figée .sbt-article-mise-en-page (corps + rail) : on la
   remonte par une marge négative pour qu'elle chevauche le bas de la bande teintée
   (DA §8, « à cheval »). Le rail reste ainsi sticky sur TOUTE la hauteur réelle de
   l'article, puisqu'il vit dans la même grille que le corps — jamais dans un
   conteneur à part, plus court, qui casserait l'accompagnement de la lecture. */
.lc-entete-bas{ margin-top:-130px; padding-top:0; }
.lc-entete-photo{ position:relative; border-radius:var(--sb-rayon-grand); overflow:hidden; box-shadow:var(--sb-ombre-forte); aspect-ratio:16/9; margin-bottom:28px; }
.lc-entete-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-entete-photo-plaque{ bottom:16px; left:16px; }
/* Le sommaire du bloc figé grandit avec le nombre de titres de l'article ; sur un article
   long, sommaire + formulaire dépasseraient la hauteur de l'écran et le rail collant (sticky,
   bloc figé) deviendrait plus long que l'écran. On limite seulement la hauteur du sommaire
   (défilement interne) sans toucher au bloc figé lui-même. */
.sbt-rail-carte--sommaire{ max-height:34vh; overflow-y:auto; }
/* Débordement horizontal à 390px (P-366) : une grille CSS ne force pas ses pistes à la
   largeur de leur contenu SAUF si on le lui demande — par défaut un enfant de grille garde
   min-width:auto, donc un mot insécable (longue URL de source citée en clair, tableau, etc.)
   peut repousser toute la piste plus large que l'écran. On rend les enfants de la grille
   figée réellement rétrécissables, et on autorise la coupure des mots trop longs dans le
   texte de l'article ; les tableaux éventuels défilent dans leur propre cadre plutôt que
   d'élargir la page. */
.sbt-article-mise-en-page{ min-width:0; }
.sbt-article-principal,.sbt-rail{ min-width:0; }
.sbt-article-corps{ overflow-wrap:anywhere; }
.sbt-article-corps table{ display:block; max-width:100%; overflow-x:auto; }
@media (max-width:1080px){
	.lc-entete-bas .sbt-rail{ margin-top:22px; }
}
@media (max-width:760px){
	.lc-entete-bande{ padding-block:32px 90px; }
	.lc-entete-bas{ margin-top:-70px; }
	.lc-entete-photo{ aspect-ratio:4/3; }
}

/* =========================================================================
   17. PAGES ANNEXES (à propos / contact)
   ========================================================================= */
.lc-page-hero{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; padding-block:48px; }
.lc-page-hero h1{ font-size:clamp(2rem,1.6rem + 1.4vw,3rem); }
.lc-page-photo{ position:relative; border-radius:var(--sb-rayon-grand); overflow:hidden; box-shadow:var(--sb-ombre-forte); aspect-ratio:4/3; }
.lc-page-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-page-photo-plaque{ bottom:16px; left:16px; max-width:80%; }
.lc-section-blanche{ padding-block:44px; }
.lc-section-sombre{ background:var(--sb-fonce); color:#fff; padding-block:48px; }
.lc-section-sombre h2{ color:#fff; }
.lc-engagements{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:24px; }
.lc-engagement{ background:rgba(255,255,255,.1); border-radius:var(--sb-rayon); padding:20px; }
.lc-engagement svg{ width:28px; height:28px; color:var(--sb-jaune); margin-bottom:10px; }
.lc-engagement p{ color:var(--sb-clair-sur-fonce); font-size:.9375rem; margin:0; }
.lc-ce-que{ display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-block:44px; }
.lc-ce-que ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.lc-ce-que li{ display:flex; gap:10px; font-size:.9375rem; }
@media (max-width:900px){ .lc-page-hero{ grid-template-columns:1fr; } .lc-engagements{ grid-template-columns:repeat(2,1fr); } .lc-ce-que{ grid-template-columns:1fr; } }

.lc-contact-grille{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:stretch; padding-block:40px; }
.lc-contact-urgence{ border-left:4px solid var(--sb-alerte); padding-left:16px; margin:18px 0; }
.lc-contact-email{ font-weight:700; font-size:1.0625rem; }
/* R5 : la colonne photo ne laisse jamais un vide sous elle quand le texte est plus haut —
   l'excédent de hauteur va à la photo (même principe que les cartes « une »). */
.lc-contact-grille .lc-page-photo{ aspect-ratio:auto; height:100%; min-height:260px; }
@media (max-width:900px){ .lc-contact-grille{ grid-template-columns:1fr; } .lc-contact-grille .lc-page-photo{ height:260px; } }

.lc-contact-formulaires{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:40px; align-items:start; }
.lc-contact-formulaire-secondaire{ background:var(--sb-surf); border-radius:var(--sb-rayon-grand); padding:22px; }
.lc-contact-secondaire-intro{ font-family:var(--sb-titre); font-size:1rem; font-weight:500; color:var(--sb-encre); margin:0 0 14px; }
@media (max-width:900px){ .lc-contact-formulaires{ grid-template-columns:1fr; } }

/* R11 + arbitrage Mathias 04/10 (CO-007 gagne) — le formulaire de contact est DANS le premier
   écran, posé sur la photo comme la carte du hero de l'accueil (même procédé, classes dédiées
   pour ne pas dépendre de la grille à 3 zones du hero accueil). */
.lc-contact-hero{ position:relative; background:var(--sb-fond); padding-block:12px 24px; overflow:hidden; }
.lc-contact-hero-grille{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:clamp(24px,4vw,56px); align-items:center; }
.lc-contact-hero-texte .lc-hero-chapo{ margin-bottom:16px; }
.lc-contact-hero-visuel{ position:relative; }
.lc-contact-hero-photo{ position:relative; border-radius:var(--sb-rayon-grand); overflow:hidden; box-shadow:var(--sb-ombre-forte); aspect-ratio:16/12; min-height:320px; max-height:560px; }
.lc-contact-hero-photo img{ width:100%; height:100%; object-fit:cover; }
.lc-contact-hero-carte{
	position:relative; margin-top:-248px; margin-left:-48px; width:min(440px,calc(100% - 20px));
	background:var(--sb-fond-carte); border-radius:20px; box-shadow:var(--sb-ombre-forte); padding:16px 22px; z-index:5;
}
.lc-contact-hero-carte .lc-form-carte--contact textarea{ min-height:56px; }
.lc-contact-hero-carte .lc-form-sous{ display:none; }
@media (max-width:1180px){ .lc-contact-hero-carte{ margin-left:0; } }
@media (max-width:980px){
	.lc-contact-hero{ padding-block:16px 24px; }
	.lc-contact-hero-grille{ grid-template-columns:1fr; gap:16px; }
	.lc-contact-hero-visuel{ display:flex; flex-direction:column; gap:14px; }
	.lc-contact-hero-photo{ order:2; aspect-ratio:16/9; min-height:0; height:170px; border-radius:var(--sb-rayon); }
	.lc-contact-hero-carte{ order:1; margin:0; width:100%; padding:16px 18px; }
	.lc-signature-courbe--hero{ display:none; }
}
.lc-contact-texte{ max-width:var(--sb-lecture); margin:40px auto 0; }

/* R11 — page Contact mise en scène (en-tête bandeau + plaque, réutilise category.php) */
.lc-contact-cartes{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:32px 0 40px; }
.lc-contact-carte{ background:var(--sb-fond-carte); border-radius:var(--sb-rayon); box-shadow:var(--sb-ombre); padding:24px; }
.lc-contact-carte svg{ width:28px; height:28px; color:var(--sb-accent); margin-bottom:12px; }
.lc-contact-carte h3{ font-size:1.0625rem; margin-bottom:6px; }
.lc-contact-carte p{ font-size:.875rem; color:var(--sb-doux); margin:0; }
.lc-contact-formulaire-unique{ max-width:560px; margin:0 auto 48px; }
.lc-contact-formulaire-unique .lc-form-carte{ background:var(--sb-fond-carte); border-radius:var(--sb-rayon-grand); box-shadow:var(--sb-ombre); padding:28px; }
@media (max-width:900px){ .lc-contact-cartes{ grid-template-columns:1fr; } }

.lc-auteurs-grille{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; padding-block:12px 44px; }

/* =========================================================================
   18. AUTEUR / 404 / RECHERCHE
   ========================================================================= */
.lc-page-simple{ padding-block:56px; max-width:var(--sb-lecture); margin-inline:auto; }
.lc-page-simple h1{ font-size:2.25rem; }
.lc-404{ text-align:center; padding-block:90px; }
.lc-404 .lc-btn{ margin-top:18px; }
.lc-recherche-liste{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; padding-block:12px 44px; }
.lc-recherche-vide{ padding-block:40px; text-align:center; color:var(--sb-doux); }
@media (max-width:900px){ .lc-recherche-liste{ grid-template-columns:1fr; } }

/* =========================================================================
   19. INFOGRAPHIES DU SOCLE — habillage (sbs_*)
   ========================================================================= */
.sbs_lieu,.sbs_tarifs,.sbs_frise,.sbs_jauges{ display:block; background:var(--sb-surf); border:1px solid var(--sb-filet); border-radius:var(--sb-rayon-grand); padding:24px; margin:2em 0; }
.sbs_lieu_nom,.sbs_tarifs_titre,.sbs_frise_titre,.sbs_jauges_titre{ display:block; font-family:var(--sb-titre); font-size:1.125rem; margin-bottom:14px; color:var(--sb-encre); }
.sbs_lieu_adresse,.sbs_lieu_acces{ display:block; font-size:.9375rem; color:var(--sb-doux); margin-bottom:4px; }
.sbs_lieu_carte{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; color:var(--sb-accent); font-weight:600; text-decoration:none; font-size:.875rem; }
.sbs_icone_repere{ width:18px; height:18px; fill:var(--sb-accent); }
.sbs_tarif{ display:grid; grid-template-columns:200px 1fr; align-items:center; gap:14px; margin-bottom:12px; }
.sbs_tarif_libelle{ font-size:.9375rem; color:var(--sb-encre); }
.sbs_tarif_barre{ width:100%; height:14px; }
.sbs_tarif_barre::-webkit-meter-bar{ background:var(--sb-filet); border-radius:999px; border:0; }
.sbs_tarif_barre::-webkit-meter-optimum-value{ background:var(--sb-accent); border-radius:999px; }
.sbs_frise{ display:flex; flex-direction:column; gap:16px; }
.sbs_etape{ display:grid; grid-template-columns:120px 1fr; gap:14px; border-left:3px solid var(--sb-jaune); padding-left:16px; }
.sbs_etape_date{ font-weight:700; font-size:.875rem; color:var(--sb-accent); }
.sbs_etape_titre{ display:block; font-size:1rem; margin-bottom:2px; }
.sbs_etape_desc{ color:var(--sb-doux); font-size:.875rem; }
.sbs_jauges{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sbs_jauge{ text-align:center; }
.sbs_jauge_libelle{ display:block; font-size:.8125rem; color:var(--sb-doux); margin-bottom:6px; }
.sbs_jauge_valeur{ font-family:var(--sb-texte); font-variant-numeric:tabular-nums lining-nums; font-weight:700; font-size:2.25rem; color:var(--sb-accent); }
.sbs_jauge_unite{ display:block; font-size:.8125rem; color:var(--sb-doux); }
.sbs_source{ display:block; margin-top:12px; font-size:.75rem; color:var(--sb-doux); }
.sbs_tableau{ overflow-x:auto; margin:1.6em 0; border-radius:var(--sb-rayon); border:1px solid var(--sb-filet); }
.sbs_tableau table{ width:100%; border-collapse:collapse; font-size:.9375rem; }
.sbs_tableau th,.sbs_tableau td{ padding:12px 16px; border-bottom:1px solid var(--sb-filet); text-align:left; white-space:nowrap; }
.sbs_tableau th{ background:var(--sb-surf); font-family:var(--sb-titre); }

/* =========================================================================
   20. PIED DE PAGE — ajustements propres au site (classes figées .sbt-footer*)
   ========================================================================= */
.sbt-footer-grille{ grid-template-columns:1.2fr repeat(4,1fr); }
@media (max-width:980px){ .sbt-footer-grille{ grid-template-columns:repeat(2,1fr); } }
.lc-footer-devise{ color:var(--sb-clair-sur-fonce); font-size:.8125rem; margin:0 0 10px; }
.lc-footer-sante{ color:var(--sb-clair-sur-fonce); font-size:.78125rem; max-width:62ch; margin:10px 0 0; line-height:1.5; }
.sbt-footer-bas{ display:flex; flex-direction:column; gap:6px; }

/* =========================================================================
   21. INFOGRAPHIES D'ARTICLE — mission 03/10/2026 (R-0031 densité visuelle),
   filtre the_content `inc/infographies.php`, préfixe .lc-ig. Accent de rubrique
   posé en inline-style (--lc-ig-accent/--lc-ig-accent-clair) par le filtre PHP.
   Mode clair, rayons/ombres de la DA, zéro animation, zéro cadre imbriqué.
   ========================================================================= */
figure.lc-ig{ margin:1.8em 0; --lc-ig-accent:var(--sb-accent); --lc-ig-accent-clair:var(--sb-accent-clair); }

/* --- étapes (ex-<ol>) --- */
.lc-ig-etapes{ background:var(--sb-fond-carte); border:1px solid var(--sb-filet); border-radius:var(--sb-rayon-grand); box-shadow:var(--sb-ombre); padding:30px 30px 6px; }
.lc-ig-etapes-liste{ list-style:none; margin:0; padding:0; counter-reset:lc-ig-etape; }
.lc-ig-etapes-liste>li{ position:relative; padding:0 0 30px 58px; counter-increment:lc-ig-etape; }
.lc-ig-etapes-liste>li:last-child{ padding-bottom:4px; }
.lc-ig-etapes-liste>li::before{ content:counter(lc-ig-etape); position:absolute; left:0; top:0; width:38px; height:38px; border-radius:50%; background:var(--lc-ig-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--sb-titre); font-weight:600; font-size:15px; line-height:1; box-shadow:var(--sb-ombre); }
.lc-ig-etapes-liste>li::after{ content:''; position:absolute; left:18px; top:38px; bottom:0; width:2px; background:var(--lc-ig-accent-clair); }
.lc-ig-etapes-liste>li:last-child::after{ display:none; }
.lc-ig-etapes-liste>li>*:last-child{ margin-bottom:0; }
@media (max-width:480px){
	.lc-ig-etapes{ padding:22px 18px 4px; border-radius:var(--sb-rayon); }
	.lc-ig-etapes-liste>li{ padding:0 0 24px 48px; }
	.lc-ig-etapes-liste>li::before{ width:30px; height:30px; font-size:13px; }
	.lc-ig-etapes-liste>li::after{ left:14px; top:30px; }
}

/* --- repères (ex-<ul>) --- */
.lc-ig-reperes-grille{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.lc-ig-reperes-carte{ position:relative; background:var(--lc-ig-accent-clair); border-radius:var(--sb-rayon); padding:18px 18px 18px 54px; box-shadow:var(--sb-ombre); }
.lc-ig-reperes-carte .lc-ig-icone{ position:absolute; left:16px; top:19px; width:22px; height:22px; color:var(--lc-ig-accent); }
.lc-ig-reperes-carte .lc-ig-icone svg{ width:100%; height:100%; }
.lc-ig-reperes-carte strong:first-child{ display:block; color:var(--lc-ig-accent); font-family:var(--sb-titre); font-size:17px; font-weight:600; margin-bottom:3px; }
@media (max-width:620px){ .lc-ig-reperes-grille{ grid-template-columns:1fr; } }
@media (max-width:480px){ .lc-ig-reperes-carte{ padding:16px 16px 16px 48px; } .lc-ig-reperes-carte .lc-ig-icone{ left:14px; top:17px; width:19px; height:19px; } }

/* --- tableau habillé --- */
.lc-ig-tableau{ border:1px solid var(--sb-filet); border-radius:var(--sb-rayon); box-shadow:var(--sb-ombre); overflow:hidden; }
.lc-ig-tableau-scroll{ overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch; }
.lc-ig-tableau table{ width:100%; min-width:480px; border-collapse:collapse; font-size:.9375rem; margin:0; }
.lc-ig-tableau th,.lc-ig-tableau td{ padding:12px 16px; border-bottom:1px solid var(--sb-filet); text-align:left; }
.lc-ig-tableau thead th{ background:var(--lc-ig-accent); color:#fff; font-family:var(--sb-titre); font-weight:600; }
.lc-ig-tableau table:not(:has(thead)) tr:first-child th,
.lc-ig-tableau table:not(:has(thead)) tr:first-child td{ background:var(--lc-ig-accent); color:#fff; font-family:var(--sb-titre); font-weight:600; }
.lc-ig-tableau tbody tr:last-child td{ border-bottom:0; }
@media (max-width:480px){ .lc-ig-tableau th,.lc-ig-tableau td{ padding:10px 14px; font-size:.875rem; } }

/* --- encadré d'alerte éditoriale (ex-<p>À retenir/Important/Attention/Bon à savoir/Conseil) --- */
.lc-ig-encadre{ display:flex; align-items:flex-start; gap:14px; background:var(--lc-ig-accent-clair); border-left:4px solid var(--lc-ig-accent); border-radius:var(--sb-rayon); padding:18px 20px; box-shadow:var(--sb-ombre); }
.lc-ig-encadre .lc-ig-icone{ flex:0 0 auto; width:24px; height:24px; margin-top:2px; color:var(--lc-ig-accent); }
.lc-ig-encadre .lc-ig-icone svg{ width:100%; height:100%; }
.lc-ig-encadre-corps p{ margin:0; }
@media (max-width:480px){ .lc-ig-encadre{ padding:16px; gap:10px; } }

/* Sources en cartes (bloc visuel « sources », règle 25) + icône des encadrés figés — 04/10 */
.lc-ig-sources{ margin:22px 0 8px; }
.lc-ig-sources-liste{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.lc-ig-source{ position:relative; min-width:0; background:var(--sb-fond-carte); border:1px solid var(--sb-filet); border-radius:var(--sb-rayon); padding:14px 16px 14px 46px; font-size:.9375rem; line-height:1.5; overflow-wrap:anywhere; box-shadow:var(--sb-ombre); }
.lc-ig-source .lc-ig-icone{ position:absolute; left:14px; top:15px; width:20px; height:20px; color:var(--sb-accent); }
.lc-ig-source .lc-ig-icone svg, .lc-ig-icone--encadre svg{ width:100%; height:100%; display:block; }
.sbt-encadre-titre .lc-ig-icone--encadre{ display:inline-block; width:20px; height:20px; vertical-align:-4px; margin-right:8px; color:currentColor; }

/* « À lire aussi » : pleine largeur, vignettes au format paysage (jamais une photo-colonne) — 04/10 */
.sbt-article-mise-en-page--suite .sbt-article-principal{ grid-column:1 / -1; max-width:none; width:100%; }
.sbt-a-lire .sbt-carte img{ width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; display:block; }

/* Tuiles des thèmes en mobile : grandes cartes qui défilent (la règle 620px était écrasée → 3 colonnes de 128 px à 390) — 04/10 */
@media (max-width:980px){ .lc-themes .lc-themes-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){
  .lc-themes .lc-themes-grille{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:80%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
  .lc-themes .lc-theme-tuile{ scroll-snap-align:start; }
  .lc-themes .lc-theme-photo{ aspect-ratio:16/10; }
}
.lc-theme-pastille{ max-width:calc(100% - 28px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* 04/10 — formulaire « logement » posé sur la bande sombre : carte claire réelle (contraste) */
.lc-bandeau-orientation .lc-form-carte{ background:var(--sb-fond-carte); color:var(--sb-encre); border-radius:var(--sb-rayon-grand); padding:24px; box-shadow:var(--sb-ombre); }
/* 04/10 — Contact sur téléphone : le formulaire passe en tête, bouton au-dessus du pli (règle ×7 de Mathias) */
@media (max-width:620px){
  .lc-contact-hero-texte .lc-hero-chapo, .lc-contact-hero-texte .lc-contact-urgence{ display:none; }
  .lc-contact-hero-photo{ height:110px; max-height:110px; overflow:hidden; }
  .lc-contact-hero-photo img{ width:100%; height:110px; object-fit:cover; }
  .lc-contact-hero{ padding-top:16px; }
  .lc-contact-hero-carte .lc-form-carte--contact textarea{ min-height:48px; }
}
@media (max-width:620px){
  .lc-contact-hero-carte .lc-form-carte--contact textarea{ height:72px; min-height:72px; }
  .lc-contact-hero-carte .lc-form-carte--contact input[name="sujet"], .lc-contact-hero-carte .lc-form-carte--contact label[for*="sujet"]{ display:none; }
  .lc-contact-hero-texte .lc-pastille{ display:none; }
}
@media (max-width:620px){ .lc-contact-hero-carte .lc-form-carte--contact label.lc-champ:has(input[name="sujet"]){ display:none; } }

/* 04/10 — juge n°2 : la courbe posée dans l’en-tête d’article passait sur le titre et le chapô → retirée des articles */
.single .lc-signature-courbe, .lc-entete .lc-signature-courbe, .lc-entete-article .lc-signature-courbe{ display:none !important; }
