/**
 * Tribune ACIL — styles publics.
 * Identité : rouge #F84643, titres #292929, texte #67737E, sombre #191919.
 * Typos : Encode Sans Condensed (titres) + Oxygen (texte), déjà chargées par le thème.
 */

.acil-form-wrap,
.acil-signataires,
.acil-premiers,
.acil-temoignages,
.acil-compteur,
.acil-portail,
.acil-contact {
	--acil-rouge: #F84643;
	--acil-rouge-fonce: #d5332f;
	--acil-titre: #292929;
	--acil-texte: #67737E;
	--acil-bord: #e3e7ea;
	--acil-fond: #f6f7f9;
	--acil-sombre: #191919;
	font-family: Oxygen, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	color: var(--acil-texte);
	box-sizing: border-box;
}

.acil-form-wrap *,
.acil-signataires *,
.acil-premiers *,
.acil-temoignages *,
.acil-compteur *,
.acil-portail *,
.acil-contact * {
	box-sizing: inherit;
}

.acil-section-titre,
.acil-form__titre {
	font-family: "Encode Sans Condensed", Oxygen, sans-serif;
	font-weight: 700;
	color: var(--acil-titre);
	font-size: clamp(22px, 3.2vw, 30px);
	line-height: 1.2;
	margin: 0 0 6px;
	letter-spacing: -0.01em;
}

.acil-section-titre::after,
.acil-form__titre::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	background: var(--acil-rouge);
	margin-top: 14px;
}

/* ---------------------------------------------------------------- */
/* Compteur                                                          */
/* ---------------------------------------------------------------- */

.acil-compteur {
	text-align: center;
	padding: 24px 20px;
	background: var(--acil-fond);
	border-top: 3px solid var(--acil-rouge);
}

.acil-compteur__chiffre {
	font-family: "Encode Sans Condensed", sans-serif;
	font-size: clamp(40px, 8vw, 64px);
	font-weight: 800;
	line-height: 1;
	color: var(--acil-rouge);
	font-variant-numeric: tabular-nums;
}

.acil-compteur__libelle {
	font-family: "Encode Sans Condensed", sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 12px;
	font-weight: 600;
	color: var(--acil-titre);
	margin-top: 6px;
}

.acil-compteur__barre {
	max-width: 420px;
	margin: 18px auto 8px;
	height: 6px;
	background: #dfe3e7;
	overflow: hidden;
}

.acil-compteur__barre span {
	display: block;
	height: 100%;
	background: var(--acil-rouge);
	transition: width .6s ease;
}

.acil-compteur__objectif {
	font-size: 13px;
	color: var(--acil-texte);
}

.acil-compteur-inline strong {
	color: var(--acil-rouge);
	font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------------- */
/* Premiers signataires                                              */
/* ---------------------------------------------------------------- */

.acil-premiers {
	margin: 48px 0;
}

.acil-premiers__liste {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 2px;
	background: var(--acil-bord);
	border: 1px solid var(--acil-bord);
}

.acil-premiers__liste li {
	background: #fff;
	padding: 14px 16px;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 13px;
}

.acil-premiers__liste .acil-portrait {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	font-size: 14px;
}

.acil-premiers__txt { min-width: 0; }

.acil-premiers__nom {
	display: block;
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 700;
	color: var(--acil-titre);
	font-size: 15px;
	line-height: 1.3;
}

.acil-premiers__qualite {
	display: block;
	font-size: 13px;
	line-height: 1.45;
	margin-top: 3px;
}

/* ---------------------------------------------------------------- */
/* Formulaire                                                        */
/* ---------------------------------------------------------------- */

.acil-form-wrap {
	margin: 48px 0;
	background: #fff;
	border: 1px solid var(--acil-bord);
	border-top: 4px solid var(--acil-rouge);
	padding: clamp(20px, 4vw, 40px);
	scroll-margin-top: 90px;
}

.acil-form__engagement {
	background: var(--acil-fond);
	border-left: 3px solid var(--acil-rouge);
	padding: 14px 18px;
	margin: 22px 0 26px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--acil-titre);
}

.acil-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

@media (max-width: 640px) {
	.acil-form__grid { grid-template-columns: 1fr; }
}

.acil-field { margin: 0; }
.acil-field--full { grid-column: 1 / -1; }

.acil-field label {
	display: block;
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--acil-titre);
	margin-bottom: 6px;
}

.acil-req { color: var(--acil-rouge); }

.acil-form input[type="text"],
.acil-form input[type="email"],
.acil-form select,
.acil-form textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid #cfd6dc;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	color: var(--acil-titre);
	border-radius: 0;
	line-height: 1.4;
}

.acil-form input:focus,
.acil-form select:focus,
.acil-form textarea:focus {
	outline: none;
	border-color: var(--acil-rouge);
	box-shadow: 0 0 0 3px rgba(248, 70, 67, .14);
}

.acil-hint {
	display: block;
	font-size: 12.5px;
	line-height: 1.5;
	margin-top: 5px;
	color: #8b959e;
}

.acil-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.acil-consents {
	border: 1px solid var(--acil-bord);
	padding: 18px 20px;
	margin: 26px 0 20px;
}

.acil-consents legend {
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--acil-titre);
	padding: 0 8px;
}

.acil-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.55;
	margin-bottom: 10px;
	cursor: pointer;
}

.acil-check:last-child { margin-bottom: 0; }

.acil-check input[type="checkbox"] {
	margin: 3px 0 0;
	width: 17px;
	height: 17px;
	accent-color: var(--acil-rouge);
	flex: 0 0 auto;
}

.acil-check--engagement {
	background: var(--acil-fond);
	padding: 16px 18px;
	margin: 0 0 24px;
	font-size: 14px;
	color: var(--acil-titre);
	border-left: 3px solid var(--acil-rouge);
}

.acil-btn {
	display: inline-block;
	background: var(--acil-rouge);
	color: #fff;
	border: none;
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 15px 34px;
	cursor: pointer;
	transition: background .18s ease;
	text-decoration: none;
	line-height: 1.2;
}

.acil-btn:hover,
.acil-btn:focus { background: var(--acil-rouge-fonce); color: #fff; }

.acil-btn--ghost {
	background: transparent;
	color: var(--acil-titre);
	border: 1px solid #cfd6dc;
	padding: 10px 18px;
	font-size: 13px;
}

.acil-submit { margin: 0 0 18px; }

.acil-rgpd {
	font-size: 12.5px;
	line-height: 1.6;
	color: #8b959e;
	margin: 0;
	padding-top: 16px;
	border-top: 1px solid var(--acil-bord);
}

.acil-rgpd a { color: var(--acil-texte); }

.acil-notice {
	padding: 14px 18px;
	margin: 0 0 24px;
	font-size: 14.5px;
	line-height: 1.6;
	border-left: 4px solid;
}

.acil-notice--success {
	background: #eef8f1;
	border-color: #2f9e5d;
	color: #1c5f38;
}

.acil-notice--error {
	background: #fdeeee;
	border-color: var(--acil-rouge);
	color: #9c2522;
}

/* ---------------------------------------------------------------- */
/* Texte de l'appel                                                  */
/* ---------------------------------------------------------------- */

/*
 * À utiliser sur la page publique : entourez le texte de l'appel d'un bloc
 * ayant la classe « acil-texte-appel » (bloc Groupe dans l'éditeur WordPress,
 * ou conteneur Elementor), et il sera justifié, césuré et mis à la bonne
 * largeur de lecture.
 */
.acil-texte-appel {
	max-width: 660px;
}

.acil-texte-appel p {
	text-align: justify;
	text-justify: inter-word;
	hyphens: auto;
	-webkit-hyphens: auto;
	hanging-punctuation: first last;
	line-height: 1.68;
}

.acil-texte-appel blockquote,
.acil-texte-appel li {
	hyphens: none;
	-webkit-hyphens: none;
}

/* ---------------------------------------------------------------- */
/* Portraits                                                         */
/* ---------------------------------------------------------------- */

.acil-portrait {
	display: block;
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--acil-fond);
}

.acil-portrait--initiales,
.acil-portrait--vide {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.04em;
	color: var(--acil-rouge);
	background: #fdecec;
	box-shadow: inset 0 0 0 1px rgba(248, 70, 67, .22);
}

.acil-portrait--vide { color: #b9c1c8; background: var(--acil-fond); box-shadow: inset 0 0 0 1px var(--acil-bord); }

/* ---------------------------------------------------------------- */
/* Témoignages                                                       */
/* ---------------------------------------------------------------- */

.acil-temoignages { margin: 48px 0; }

.acil-temoignages__tete {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	flex-wrap: wrap;
}

.acil-temoignages__nav {
	display: flex;
	gap: 8px;
	margin-left: auto;
}

.acil-temoignages__nav button {
	width: 42px;
	height: 42px;
	border: 1px solid #cfd6dc;
	background: #fff;
	color: var(--acil-titre);
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.acil-temoignages__nav button:hover {
	background: var(--acil-rouge);
	border-color: var(--acil-rouge);
	color: #fff;
}

.acil-temoignages__nav button[disabled] { opacity: .35; cursor: default; }
.acil-temoignages__nav button[disabled]:hover { background: #fff; border-color: #cfd6dc; color: var(--acil-titre); }

.acil-temoignages__piste {
	display: flex;
	align-items: stretch;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 26px 0 10px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.acil-temoignages__piste::-webkit-scrollbar { display: none; }
.acil-temoignages__piste:focus-visible { outline: 2px solid var(--acil-rouge); outline-offset: 4px; }

.acil-temoignage {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 0 0 min(430px, 85%);
	scroll-snap-align: start;
	margin: 0;
	background: #fff;
	border: 1px solid var(--acil-bord);
	border-top: 3px solid var(--acil-rouge);
	padding: 30px 28px 24px;
	transition: box-shadow .2s ease, transform .2s ease;
}

.acil-temoignage:hover {
	box-shadow: 0 10px 26px rgba(25, 25, 25, .09);
	transform: translateY(-2px);
}

.acil-temoignage__guillemet {
	position: absolute;
	top: 6px;
	right: 20px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 76px;
	line-height: 1;
	color: var(--acil-rouge);
	opacity: .13;
	pointer-events: none;
	user-select: none;
}

.acil-temoignage blockquote {
	flex: 1 1 auto;
	margin: 0 0 20px;
	padding: 0;
	border: none;
	font-size: 16.5px;
	line-height: 1.62;
	color: var(--acil-titre);
	font-style: italic;
}

.acil-temoignage figcaption {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 13.5px;
	line-height: 1.45;
	padding-top: 16px;
	border-top: 1px solid var(--acil-bord);
}

.acil-temoignage__id { min-width: 0; }

.acil-temoignage figcaption strong {
	display: block;
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 700;
	color: var(--acil-titre);
	font-size: 15.5px;
	line-height: 1.25;
}

.acil-temoignage figcaption span { display: block; margin-top: 2px; }

.acil-temoignages__points {
	display: flex;
	gap: 7px;
	margin-top: 14px;
}

.acil-temoignages__points button {
	width: 22px;
	height: 4px;
	padding: 0;
	border: 0;
	background: var(--acil-bord);
	cursor: pointer;
	transition: background .16s ease;
}

.acil-temoignages__points button[aria-current="true"] { background: var(--acil-rouge); }

/* ---------------------------------------------------------------- */
/* Portail d'accès à la page de signature                            */
/* ---------------------------------------------------------------- */

.acil-portail {
	margin: 48px 0;
	display: flex;
	justify-content: center;
}

.acil-portail__carte {
	max-width: 520px;
	width: 100%;
	background: #fff;
	border: 1px solid var(--acil-bord);
	border-top: 4px solid var(--acil-rouge);
	padding: clamp(24px, 4vw, 40px);
	text-align: center;
}

.acil-portail__cadenas {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #fdecec;
	color: var(--acil-rouge);
	margin-bottom: 18px;
}

.acil-portail__titre {
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 700;
	font-size: clamp(21px, 3vw, 26px);
	color: var(--acil-titre);
	margin: 0 0 12px;
}

.acil-portail__intro {
	font-size: 15px;
	line-height: 1.65;
	margin: 0 0 24px;
}

.acil-portail__form { text-align: left; }

.acil-portail__form label {
	display: block;
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--acil-titre);
	margin-bottom: 7px;
}

.acil-portail__ligne { display: flex; gap: 10px; flex-wrap: wrap; }

.acil-portail__ligne input {
	flex: 1 1 200px;
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid #cfd6dc;
	background: #fff;
	font-family: "Encode Sans Condensed", monospace;
	font-size: 17px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--acil-titre);
	border-radius: 0;
}

.acil-portail__ligne input:focus {
	outline: none;
	border-color: var(--acil-rouge);
	box-shadow: 0 0 0 3px rgba(248, 70, 67, .14);
}

.acil-portail__ligne .acil-btn { flex: 0 0 auto; padding: 13px 26px; }

.acil-portail__aide {
	margin: 24px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--acil-bord);
	font-size: 13.5px;
	line-height: 1.6;
	color: #8b959e;
}

.acil-portail__mail,
.acil-contact__mail {
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 600;
	color: var(--acil-titre);
	user-select: all;
}

/* ---------------------------------------------------------------- */
/* Contact (page publique)                                           */
/* ---------------------------------------------------------------- */

.acil-contact {
	margin: 48px 0;
	background: #fff;
	border: 1px solid var(--acil-bord);
	border-top: 4px solid var(--acil-rouge);
	padding: clamp(20px, 4vw, 40px);
	scroll-margin-top: 90px;
	font-family: Oxygen, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	color: var(--acil-texte);
}

.acil-contact__texte {
	font-size: 15.5px;
	line-height: 1.7;
	margin: 20px 0 26px;
	max-width: 62ch;
}

/* Bandeau d'aperçu réservé à l'équipe connectée. */
.acil-apercu {
	background: #fff6e6;
	border-left: 4px solid #e2a73c;
	color: #7a5410;
	font-size: 13px;
	line-height: 1.55;
	padding: 10px 14px;
	margin: 0 0 18px;
}

/* ---------------------------------------------------------------- */
/* Liste des signataires                                             */
/* ---------------------------------------------------------------- */

.acil-signataires {
	margin: 48px 0;
	scroll-margin-top: 90px;
}

.acil-signataires__mention {
	font-size: 13.5px;
	color: #8b959e;
	margin: 16px 0 0;
}

.acil-filtres {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: flex-end;
	margin: 22px 0;
	padding: 16px 18px;
	background: var(--acil-fond);
}

.acil-filtres__champ span {
	display: block;
	font-family: "Encode Sans Condensed", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--acil-titre);
	margin-bottom: 5px;
}

.acil-filtres select {
	padding: 9px 12px;
	border: 1px solid #cfd6dc;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	min-width: 200px;
	border-radius: 0;
}

.acil-filtres__reset {
	font-size: 13px;
	color: var(--acil-rouge);
	text-decoration: underline;
	padding-bottom: 10px;
}

.acil-table-wrap { overflow-x: auto; }

.acil-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 8px;
	font-size: 14.5px;
}

.acil-table th {
	text-align: left;
	font-family: "Encode Sans Condensed", sans-serif;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
	background: var(--acil-sombre);
	padding: 12px 14px;
}

.acil-table td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--acil-bord);
	vertical-align: top;
	line-height: 1.5;
}

.acil-table tbody tr:nth-child(even) { background: #fafbfc; }

.acil-table td:first-child {
	font-family: "Encode Sans Condensed", sans-serif;
	font-weight: 600;
	color: var(--acil-titre);
}

.acil-table__premier td:first-child { box-shadow: inset 3px 0 0 var(--acil-rouge); }

.acil-badge {
	display: inline-block;
	margin-left: 7px;
	background: var(--acil-rouge);
	color: #fff;
	font-family: "Encode Sans Condensed", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 2px 7px;
	vertical-align: middle;
}

@media (max-width: 600px) {
	.acil-table thead { display: none; }
	.acil-table tr { display: block; border-bottom: 1px solid var(--acil-bord); padding: 12px 0; }
	.acil-table td { display: block; border: none; padding: 2px 0; }
	.acil-table td:empty { display: none; }
}

.acil-pagination {
	margin-top: 26px;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.acil-pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	text-align: center;
	padding: 9px 10px;
	border: 1px solid var(--acil-bord);
	color: var(--acil-titre);
	text-decoration: none;
	font-size: 14px;
	line-height: 1.2;
}

.acil-pagination .page-numbers:hover { border-color: var(--acil-rouge); color: var(--acil-rouge); }

.acil-pagination .page-numbers.current {
	background: var(--acil-rouge);
	border-color: var(--acil-rouge);
	color: #fff;
	font-weight: 700;
}

.acil-vide {
	padding: 28px;
	background: var(--acil-fond);
	text-align: center;
	font-size: 15px;
}
