/* ==========================================================================
   Plateforme contributive — feuille de style
   Trois matières : la feuille (contributions), la note en marge (commentaires),
   l'encre (synthèses). Le surligneur jaune marque les titres de page.
   ========================================================================== */

:root {
	--encre: #22318a;
	--encre-fonce: #18225f;
	--encre-pale: #e8ebf7;
	--papier: #ffffff;
	--fond: #f3f5fa;
	--trait: #d5dae8;
	--texte: #1c2130;
	--texte-doux: #586074;
	--surligneur: #ffe45c;
	--fort: #1f7a4d;
	--faible: #b4382e;
	--question: #8f5c00;
	--remarque: #6b7285;

	--police-titre: "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;
	--police-texte: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;

	--bs-body-font-family: var(--police-texte);
	--bs-body-color: var(--texte);
	--bs-link-color: var(--encre);
	--bs-link-color-rgb: 34, 49, 138;
	--bs-link-hover-color: var(--encre-fonce);
	--bs-link-hover-color-rgb: 24, 34, 95;
}

html { scroll-padding-top: 5rem; }

body {
	font-family: var(--police-texte);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--texte);
	background: var(--papier);
}

h1, h2, h3, h4, .site-nom, .titre-page, .titre-section {
	font-family: var(--police-titre);
	color: var(--texte);
	letter-spacing: -0.01em;
}

a { color: var(--encre); text-underline-offset: 0.18em; }
a:hover { color: var(--encre-fonce); }

:focus-visible {
	outline: 3px solid var(--encre);
	outline-offset: 2px;
	box-shadow: 0 0 0 6px var(--surligneur);
}

.lien-evitement {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 2000;
	background: var(--surligneur);
	color: var(--texte);
	padding: 0.5rem 1rem;
}
.lien-evitement:focus { left: 0.5rem; top: 0.5rem; }

/* Liens réservés aux administrateurs dans le menu du compte */
[class*="seulement-admin-"]:not(.seulement-admin-0minirezo) { display: none; }

/* --------------------------------------------------------------------------
   Gabarits
   -------------------------------------------------------------------------- */

.conteneur { max-width: 1120px; margin: 0 auto; padding: 0 1.25rem; }
.conteneur--lecture { max-width: 760px; }
.conteneur--etroit { max-width: 580px; }

.site-main { min-height: 60vh; padding-bottom: 4rem; }

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: 1020;
	background: var(--papier);
	border-bottom: 1px solid var(--trait);
}
.site-header__inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0.75rem 1.25rem;
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.site-nom {
	font-weight: 800;
	font-size: 1.2rem;
	line-height: 1.2;
	color: var(--encre);
	text-decoration: none;
	max-width: 15rem;
}
.site-nom:hover { color: var(--encre-fonce); }

.site-nav { display: flex; align-items: center; gap: 0.25rem; flex: 1; }
.site-nav__lien {
	white-space: nowrap;
	padding: 0.4rem 0.7rem;
	color: var(--texte);
	text-decoration: none;
	font-weight: 700;
	border-radius: 4px;
}
.site-nav__lien:hover { background: var(--fond); color: var(--encre); }
.site-nav__lien.actif {
	background: linear-gradient(transparent 62%, var(--surligneur) 62%, var(--surligneur) 92%, transparent 92%);
}
.site-nav__lien--icone { margin-left: auto; }

.site-compte { display: flex; align-items: center; gap: 0.5rem; white-space: nowrap; }

.site-header__menu {
	display: none;
	margin-left: auto;
	border: 1.5px solid var(--encre);
	color: var(--encre);
	font-weight: 700;
	gap: 0.35rem;
	align-items: center;
}

.site-nav--mobile { flex-direction: column; align-items: stretch; gap: 0.25rem; }
.site-nav--mobile .site-nav__lien { padding: 0.75rem 0.5rem; font-size: 1.1rem; }
.site-nav--mobile .site-nav__lien--icone { margin-left: 0; }
.site-compte--mobile { flex-direction: column; align-items: stretch; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--trait); }

@media (max-width: 1139.98px) {
	.site-header .site-nav, .site-header .site-compte { display: none; }
	.site-header__menu { display: inline-flex; }
}

/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */

.btn { font-weight: 700; border-radius: 4px; }
.btn-encre { background: var(--encre); color: #fff; border: 1.5px solid var(--encre); }
.btn-encre:hover, .btn-encre:focus { background: var(--encre-fonce); border-color: var(--encre-fonce); color: #fff; }
.btn-contour { background: transparent; color: var(--encre); border: 1.5px solid var(--encre); }
.btn-contour:hover { background: var(--encre-pale); color: var(--encre-fonce); }
.btn-lien { background: transparent; color: var(--encre); border: 1.5px solid transparent; }
.btn-lien:hover { color: var(--encre-fonce); background: var(--fond); }
.btn-papier { background: #fff; color: var(--encre); border: 1.5px solid #fff; }
.btn-papier:hover { background: var(--surligneur); border-color: var(--surligneur); color: var(--texte); }
.btn-alerte { background: #fff; color: var(--faible); border: 1.5px solid var(--faible); }
.btn-alerte:hover { background: var(--faible); color: #fff; }
.btn-valider { background: var(--fort); color: #fff; border: 1.5px solid var(--fort); }
.btn-valider:hover { background: #17603c; color: #fff; }

/* --------------------------------------------------------------------------
   Titres
   -------------------------------------------------------------------------- */

.titre-page { font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 800; line-height: 1.1; margin: 0 0 1rem; }

/* Le surligneur : l'unique effet appuyé du site, réservé au titre de page */
.titre-surligne span {
	background: linear-gradient(transparent 60%, var(--surligneur) 60%, var(--surligneur) 92%, transparent 92%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	padding: 0 0.1em;
}

.titre-section { font-size: 1.5rem; font-weight: 700; margin: 3rem 0 1.25rem; }
.titre-section--petit { font-size: 1.15rem; margin: 2rem 0 0.75rem; }

.entete-page { padding: 2.5rem 0 1.5rem; }
.entete-page__chapo { font-size: 1.2rem; color: var(--texte); max-width: 46rem; }
.entete-page__chapo p:last-child { margin-bottom: 0; }
.entete-page__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 1.5rem; }

.fil { padding-top: 1.5rem; font-size: 0.95rem; }
.fil a { color: var(--texte-doux); }
.fil a + a::before { content: "/"; margin: 0 0.5rem; color: var(--trait); }
.fil--clair a { color: #cfd5f2; }

.texte { max-width: 46rem; }
.texte h3, .texte .spip { font-size: 1.3rem; margin-top: 2rem; }
.texte ol, .texte ul { padding-left: 1.4rem; }

/* --------------------------------------------------------------------------
   Accueil
   -------------------------------------------------------------------------- */

.accueil-intro { padding: 3.5rem 0 2.5rem; border-bottom: 1px solid var(--trait); }
.accueil-intro h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); font-weight: 800; line-height: 1.05; max-width: 20ch; margin-bottom: 1.5rem; }
.accueil-intro__texte { font-size: 1.25rem; max-width: 42rem; }
.accueil-intro__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }

.espaces { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 767.98px) { .espaces { grid-template-columns: 1fr; } }

.espace {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.5rem;
	border-radius: 6px;
	text-decoration: none;
	color: var(--texte);
	min-height: 13rem;
}
.espace__titre { font-family: var(--police-titre); font-weight: 700; font-size: 1.35rem; line-height: 1.2; }
.espace__texte { flex: 1; }
.espace__compte { font-weight: 700; font-size: 0.95rem; }
.espace--feuille { background: var(--papier); border: 1.5px solid var(--trait); }
.espace--feuille:hover { border-color: var(--encre); color: var(--texte); }
.espace--note { background: var(--papier); border: 1.5px solid var(--trait); border-left: 8px solid var(--surligneur); }
.espace--note:hover { border-color: var(--encre); border-left-color: var(--surligneur); color: var(--texte); }
.espace--encre { background: var(--encre); color: #fff; }
.espace--encre:hover { background: var(--encre-fonce); color: #fff; }

.liste-themes { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 2.5rem; }
@media (max-width: 767.98px) { .liste-themes { columns: 1; } }
.liste-themes__item {
	break-inside: avoid;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--trait);
}
.liste-themes__lien { font-weight: 700; text-decoration: none; }
.liste-themes__lien:hover { text-decoration: underline; }
.liste-themes__compte { color: var(--texte-doux); font-size: 0.9rem; white-space: nowrap; }

/* --------------------------------------------------------------------------
   Thèmes
   -------------------------------------------------------------------------- */

.grille-themes { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.theme-carte {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 1.5rem;
	border: 1.5px solid var(--trait);
	border-radius: 6px;
	text-decoration: none;
	color: var(--texte);
}
.theme-carte:hover { border-color: var(--encre); color: var(--texte); }
.theme-carte__titre { font-family: var(--police-titre); font-weight: 700; font-size: 1.25rem; line-height: 1.2; color: var(--encre); }
.theme-carte__question { flex: 1; }
.theme-carte__compte { font-size: 0.9rem; color: var(--texte-doux); font-weight: 700; }

.invite-compte {
	background: var(--fond);
	border-left: 4px solid var(--encre);
	padding: 0.9rem 1.1rem;
	margin: 0;
	max-width: 40rem;
}

/* Le bandeau d'encre de la synthèse */
.bandeau-synthese { background: var(--encre); color: #fff; padding: 2.5rem 0; margin: 1.5rem 0 0; }
.bandeau-synthese__titre { color: #fff; font-size: 1rem; font-family: var(--police-texte); font-weight: 700; margin: 0 0 1rem; opacity: 0.85; }
.bandeau-synthese__vide { margin: 0; max-width: 46rem; font-size: 1.1rem; }
.synthese-resume__titre { font-size: 1.8rem; font-weight: 800; margin: 0 0 0.25rem; }
.synthese-resume__titre a { color: #fff; text-decoration: none; }
.synthese-resume__titre a:hover { text-decoration: underline; }
.synthese-resume__version { color: #cfd5f2; margin-bottom: 1rem; }
.synthese-resume__texte { max-width: 46rem; margin-bottom: 1.5rem; }

/* --------------------------------------------------------------------------
   Cartes de contribution
   -------------------------------------------------------------------------- */

.grille-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1.25rem; }
.grille-cartes--2 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

.carte {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 1.25rem 1.25rem 1rem;
	border: 1.5px solid var(--trait);
	border-radius: 6px;
	background: var(--papier);
}
.carte:hover { border-color: var(--encre); }
.carte__theme { font-size: 0.9rem; margin: 0 0 0.4rem; }
.carte__theme a { color: var(--texte-doux); position: relative; z-index: 2; }
.carte__titre { font-size: 1.2rem; font-weight: 700; line-height: 1.25; margin: 0 0 0.6rem; }
.carte__titre a { color: var(--texte); text-decoration: none; }
.carte__titre a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.carte__titre a:hover { color: var(--encre); }
.carte__extrait { flex: 1; color: var(--texte); margin-bottom: 0.9rem; }
.carte__meta { font-size: 0.9rem; color: var(--texte-doux); margin: 0; }
.carte__meta a { position: relative; z-index: 2; color: var(--texte-doux); }
.carte__comm { display: block; margin-top: 0.25rem; }

.badge-nouveau {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.05rem 0.45rem;
	border-radius: 999px;
	background: var(--surligneur);
	color: var(--texte);
	font-size: 0.75rem;
	font-weight: 700;
	vertical-align: middle;
}

.bloc-vide { padding: 2rem 0; color: var(--texte-doux); }

.pagination-plateforme { margin-top: 2rem; }
.pagination-plateforme .pagination { flex-wrap: wrap; }

/* --------------------------------------------------------------------------
   Articles
   -------------------------------------------------------------------------- */

.article__entete { padding: 1.25rem 0 1rem; }
.article__titre { font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 800; line-height: 1.12; margin: 0 0 0.75rem; }
.article__meta { color: var(--texte-doux); margin-bottom: 0.25rem; }
.article__image { margin: 0 0 1.5rem; }
.article__image img { max-width: 100%; height: auto; border-radius: 6px; }
.article__chapo { font-size: 1.2rem; font-weight: 700; margin-bottom: 1.25rem; }
.article__texte, .article__ps { font-size: 1.1rem; line-height: 1.7; }
.article__ps { color: var(--texte-doux); }
.article__mots { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1.5rem; }
.mot {
	padding: 0.15rem 0.7rem;
	border: 1.5px solid var(--trait);
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.9rem;
}
.mot:hover { border-color: var(--encre); }

.liste-documents { list-style: none; padding: 0; }
.liste-documents li { padding: 0.5rem 0; border-bottom: 1px solid var(--trait); }
.liste-documents__info { color: var(--texte-doux); font-size: 0.9rem; }

.barre-outils, .barre-moderation {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	padding: 0.8rem 1rem;
	margin-top: 1.25rem;
	border-radius: 6px;
}
.barre-outils { background: var(--fond); border: 1.5px solid var(--trait); }
.barre-outils--prepa, .barre-outils--prop { background: #fff9d6; border-color: #eedc72; }
.barre-outils--refuse { background: #fbeceb; border-color: #e6b5b0; }
.barre-outils__etat { margin: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.barre-outils__actions, .barre-moderation__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.barre-outils__actions form { margin: 0; }
.barre-moderation { background: #fff; border: 1.5px dashed var(--encre); }
.barre-moderation__etat { margin: 0; font-weight: 700; color: var(--encre); }

.etat { font-size: 0.85rem; font-weight: 700; padding: 0.1rem 0.55rem; border-radius: 999px; background: var(--fond); }
.etat--publie { background: #e2f2ea; color: var(--fort); }
.etat--prepa, .etat--prop { background: #fff3b0; color: #6d5600; }
.etat--refuse { background: #fbe1de; color: var(--faible); }

.article__voisines { margin-top: 1rem; }

.pages-voisines { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--trait); }

.liste-pages { list-style: none; padding: 0; margin: 1rem 0 0; }
.liste-pages li { padding: 1rem 0; border-bottom: 1px solid var(--trait); }
.liste-pages__titre { display: block; font-family: var(--police-titre); font-weight: 700; font-size: 1.25rem; }
.liste-pages__chapo { color: var(--texte-doux); }

/* Synthèse : en-tête à l'encre */
.synthese-entete { background: var(--encre); color: #fff; padding: 0 0 2.25rem; }
.synthese-entete .article__titre { color: #fff; padding-top: 1.25rem; }
.synthese-entete__version { color: #cfd5f2; margin: 0; }
.synthese-entete__rang { margin-left: 0.4rem; }
.synthese-entete__intro { font-size: 1.15rem; max-width: 46rem; margin: 0; }
.synthese-entete .barre-moderation { background: #fff; }
.synthese-sources { margin-top: 2.5rem; padding: 1.25rem 1.5rem; background: var(--encre-pale); border-radius: 6px; }
.synthese-sources .titre-section { margin-top: 1rem; }
.liste-versions { margin: 0; }
.liste-versions .actuelle { font-weight: 700; }

.liste-syntheses { margin-top: 1rem; }
.ligne-synthese { display: grid; grid-template-columns: 16rem 1fr; gap: 1.5rem; padding: 1.75rem 0; border-bottom: 1px solid var(--trait); }
@media (max-width: 767.98px) { .ligne-synthese { grid-template-columns: 1fr; gap: 0.5rem; } }
.ligne-synthese__theme { font-size: 1.15rem; font-weight: 700; margin: 0; }
.ligne-synthese__theme a { color: var(--texte); text-decoration: none; }
.ligne-synthese__titre { font-size: 1.35rem; font-weight: 800; margin: 0 0 0.25rem; }
.ligne-synthese__version { color: var(--texte-doux); margin-bottom: 0.5rem; }
.ligne-synthese__vide { color: var(--texte-doux); margin: 0; }

/* Textes à commenter */
.liste-textes { display: flex; flex-direction: column; gap: 1.25rem; }
.texte-carte { padding: 1.5rem; border: 1.5px solid var(--trait); border-left: 8px solid var(--surligneur); border-radius: 6px; }
.texte-carte__titre { font-size: 1.4rem; font-weight: 800; margin: 0 0 0.5rem; }
.texte-carte__titre a { color: var(--texte); text-decoration: none; }
.texte-carte__titre a:hover { color: var(--encre); text-decoration: underline; }

.compteur-natures { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.25rem; margin: 0.75rem 0 1rem; }
.compteur-natures__total { margin: 0; font-weight: 700; }
.compteur-natures__liste { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0; margin: 0; font-size: 0.95rem; }
.compteur-natures__liste li::before { content: ""; display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 2px; margin-right: 0.35rem; vertical-align: -0.05rem; }
.nature-fort::before { background: var(--fort); }
.nature-faible::before { background: var(--faible); }
.nature-proposition::before { background: var(--encre); }
.nature-question::before { background: var(--question); }

/* --------------------------------------------------------------------------
   Commentaires : des notes en marge
   -------------------------------------------------------------------------- */

.commentaires { margin-top: 3rem; padding-top: 0.5rem; border-top: 3px solid var(--texte); }
.notes { display: flex; flex-direction: column; gap: 0.9rem; }
.note { padding: 0.9rem 1.1rem; background: var(--fond); border-left: 5px solid var(--remarque); border-radius: 0 6px 6px 0; }
.note__entete { display: flex; flex-wrap: wrap; gap: 0.25rem 0.9rem; align-items: baseline; margin: 0 0 0.35rem; font-size: 0.92rem; }
.note__nature { font-weight: 700; }
.note__auteur { font-weight: 700; color: var(--texte); }
.note__date { color: var(--texte-doux); }
.note__texte p:last-child { margin-bottom: 0; }
.note__sur { margin: 0.4rem 0 0; font-size: 0.92rem; color: var(--texte-doux); }
.note--fort { border-left-color: var(--fort); } .note--fort .note__nature { color: var(--fort); }
.note--faible { border-left-color: var(--faible); } .note--faible .note__nature { color: var(--faible); }
.note--proposition { border-left-color: var(--encre); } .note--proposition .note__nature { color: var(--encre); }
.note--question { border-left-color: var(--question); } .note--question .note__nature { color: var(--question); }
.note--remarque .note__nature { color: var(--remarque); }
.commentaires__vide { color: var(--texte-doux); }
.commentaires__formulaire { margin-top: 2rem; }
.commentaires__aide { color: var(--texte-doux); }
.commentaires__qui { color: var(--texte-doux); }

/* --------------------------------------------------------------------------
   Formulaires SPIP (connexion, inscription, commentaires, mot de passe)
   -------------------------------------------------------------------------- */

.carte-formulaire { padding: 1.5rem; border: 1.5px solid var(--trait); border-radius: 6px; background: var(--papier); }
.aide-formulaire { margin-top: 1rem; color: var(--texte-doux); }

.formulaire_spip fieldset { border: 0; padding: 0; margin: 0 0 1rem; }
.formulaire_spip legend { font-family: var(--police-titre); font-size: 1.1rem; font-weight: 700; }
.formulaire_spip .editer-groupe { list-style: none; padding: 0; margin: 0; }
.formulaire_spip .editer { margin-bottom: 1rem; }
.formulaire_spip label { display: block; font-weight: 700; margin-bottom: 0.3rem; }
.formulaire_spip input.text,
.formulaire_spip input[type="text"],
.formulaire_spip input[type="email"],
.formulaire_spip input[type="password"],
.formulaire_spip select,
.formulaire_spip textarea {
	display: block;
	width: 100%;
	padding: 0.6rem 0.75rem;
	font: inherit;
	color: var(--texte);
	background: #fff;
	border: 1.5px solid #aab2c8;
	border-radius: 4px;
}
.formulaire_spip input:focus, .formulaire_spip select:focus, .formulaire_spip textarea:focus { border-color: var(--encre); }
.formulaire_spip .choix label, .formulaire_spip label[for="session_remember"] { display: inline; font-weight: 400; }
.formulaire_spip .explication, .formulaire_spip .details { color: var(--texte-doux); font-size: 0.95rem; }
.formulaire_spip .erreur_message, .formulaire_spip .erreur .erreur_message { display: block; color: var(--faible); font-weight: 700; margin-bottom: 0.3rem; }
.formulaire_spip .erreur input, .formulaire_spip .erreur select, .formulaire_spip .erreur textarea { border-color: var(--faible); }
.formulaire_spip .boutons { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.formulaire_spip .boutons .submit,
.formulaire_spip input.submit,
.formulaire_spip button.submit {
	padding: 0.55rem 1.1rem;
	font-weight: 700;
	color: #fff;
	background: var(--encre);
	border: 1.5px solid var(--encre);
	border-radius: 4px;
}
.formulaire_spip .boutons .btn-contour { color: var(--encre); background: transparent; }
.reponse_formulaire, .message { padding: 0.8rem 1rem; border-radius: 4px; margin: 0 0 1rem; }
.reponse_formulaire_ok, .message--ok { background: #e2f2ea; color: #134d31; }
.reponse_formulaire_erreur, .message--erreur { background: #fbe1de; color: #7c241d; }
.formulaire_forum .previsu, .formulaire_forum .preview { padding: 1rem; background: var(--fond); border-radius: 6px; margin: 1rem 0; }

/* Formulaire de contribution (fenêtre modale) */
.modal-header { border-bottom: 3px solid var(--encre); }
.modal-title { font-family: var(--police-titre); font-weight: 800; }
.formulaire_contribution .bg-light { background: var(--fond) !important; border-color: var(--trait) !important; }
.formulaire_contribution .bg-encre, .formulaire_contribution .tag-selected { background: var(--encre) !important; color: #fff; }
.formulaire_contribution .form-control:focus { border-color: var(--encre); box-shadow: 0 0 0 0.2rem var(--encre-pale); }

/* --------------------------------------------------------------------------
   Tableaux (mes contributions, modération)
   -------------------------------------------------------------------------- */

.tableau-defilant { overflow-x: auto; }
.tableau { width: 100%; border-collapse: collapse; }
.tableau th { text-align: left; font-size: 0.9rem; color: var(--texte-doux); border-bottom: 2px solid var(--texte); padding: 0.5rem; }
.tableau td { padding: 0.65rem 0.5rem; border-bottom: 1px solid var(--trait); vertical-align: top; }
.moderation-bloc { margin-bottom: 2rem; }
.liste-valides { list-style: none; padding: 0; columns: 2; }
.lien-discret { font-size: 0.85rem; color: var(--texte-doux); }

.recherche { display: flex; gap: 0.5rem; max-width: 36rem; margin-top: 1rem; }

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */

.site-footer { background: var(--fond); border-top: 1px solid var(--trait); padding: 2.5rem 0; font-size: 0.95rem; }
.site-footer__inner { max-width: 1120px; margin: 0 auto; padding: 0 1.25rem; }
.site-footer__nom { font-family: var(--police-titre); font-weight: 800; color: var(--encre); font-size: 1.1rem; }
.site-footer__credits { color: var(--texte-doux); margin: 0; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Dans le menu mobile, le lien de recherche affiche son libellé */
.site-nav--mobile .site-nav__lien--icone .visually-hidden {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 0 0.5rem !important;
	clip: auto !important;
	overflow: visible !important;
	white-space: normal !important;
}
