/*
 * Consultations / Baromètre : index (en cours, à venir, historique), page d'une consultation
 * (questionnaire, confirmation, résultats agrégés). Le questionnaire hérite de forminator.css ;
 * ce fichier l'allège pour qu'il se lise comme une prise de parole, pas comme un formulaire
 * administratif.
 */

/* ------------------------------------------------------------------ */
/* Page d'une consultation                                             */
/* ------------------------------------------------------------------ */

.consultation__body {
	display: grid;
	gap: var(--space-7);
	padding-bottom: var(--space-8);
}

.consultation__context + .consultation__body {
	margin-top: var(--space-7);
}

.consultation-participation {
	scroll-margin-top: calc(var(--header-height) + var(--space-5));
}

.consultation-participation__header {
	display: grid;
	gap: var(--space-2);
	padding-top: var(--space-6);
	border-top: 2px solid var(--color-gold-500);
}

.consultation-participation__title {
	font-size: var(--text-h2);
}

.consultation-participation__deadline {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--text-small);
}

.consultation-participation__note {
	margin: var(--space-5) 0 0;
	color: var(--color-text-muted);
	font-size: var(--text-small);
	line-height: 1.6;
}

/* Questionnaire : les questions en serif, les choix en liste aérée */
.consultation-form .forminator-ui {
	margin-block: var(--space-6) 0;
}

/* Questions = colonnes de premier niveau qui ne sont pas des informations de profil */
.consultation-form form > .forminator-row > .forminator-col:not(.egd-profile-field, .egd-consent-field, .forminator-field-section) > .forminator-field > .forminator-label {
	margin-bottom: var(--space-3);
	color: var(--color-heading);
	font-family: var(--font-serif);
	font-size: var(--text-h4);
	font-weight: var(--weight-heading);
	line-height: 1.3;
}

.consultation-form form > .forminator-row > .forminator-col:not(.egd-profile-field, .egd-consent-field) > .forminator-field > .forminator-label .forminator-required {
	font-family: var(--font-sans);
	font-size: var(--text-ui);
}

/* Les choix se lisent de haut en bas, une réponse par ligne */
.consultation-form form > .forminator-row > .forminator-col:not(.egd-profile-field) > :is(.forminator-field[role="group"], .forminator-field[role="radiogroup"]) {
	grid-template-columns: minmax(0, 1fr);
}

.consultation-form form > .forminator-row > .forminator-col:not(.egd-profile-field, .egd-consent-field) :is(.forminator-radio, .forminator-checkbox) {
	min-height: 3.25rem;
	padding-inline: var(--space-5);
	font-size: var(--text-body);
}

/* Échelle (choix horizontaux) : une rangée de valeurs */
.consultation-form form > .forminator-row > .forminator-col:not(.egd-profile-field) > .forminator-field[role="radiogroup"]:has(.forminator-radio-inline) {
	display: flex;
	flex-wrap: wrap;
}

.consultation-form [role="radiogroup"]:has(.forminator-radio-inline) > :not(label) {
	flex: 1 0 100%;
}

.consultation-form [role="radiogroup"] > .forminator-radio-inline {
	flex: 1 1 7.5rem;
}

.consultation-form .forminator-radio-inline {
	justify-content: center;
	text-align: center;
}

/* Sur mobile, l'échelle redevient une liste : une valeur par ligne */
@media (max-width: 47.9375em) {
	.consultation-form [role="radiogroup"] > .forminator-radio-inline {
		flex-basis: 100%;
		justify-content: flex-start;
		text-align: start;
	}
}

/* Consultation simple : la question porte la page */
.consultation-form--simple form > .forminator-row:first-of-type > .forminator-col > .forminator-field > .forminator-label {
	font-size: var(--text-h3);
	line-height: 1.2;
}

/* Enquête : questions numérotées, séparées par un filet */
.consultation-form--survey .forminator-ui {
	counter-reset: egd-question;
}

/* Le filet est porté par le bloc interne : la colonne Forminator a des marges internes. */
.consultation-form--survey form > .forminator-row:has(> .forminator-col:not(.egd-profile-field)) + .forminator-row > .forminator-col:not(.egd-profile-field, .egd-consent-field) > .forminator-field {
	margin-top: var(--space-2);
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-border);
}

.consultation-form--survey form > .forminator-row > .forminator-col:not(.egd-profile-field, .egd-consent-field, .forminator-field-section) > .forminator-field > .forminator-label::before {
	content: counter(egd-question) ". ";
	counter-increment: egd-question;
	color: var(--color-blue-700);
	font-family: var(--font-sans);
	font-size: 0.8em;
	font-weight: var(--weight-semibold);
}

/* Informations de profil : un encadré discret, après les questions */
.consultation-form .forminator-field-section.egd-profile-field .forminator-title::before {
	content: none;
}

.consultation-form .forminator-field-section.egd-profile-field .forminator-field {
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-border);
}

.consultation-form .forminator-field-section.egd-profile-field .forminator-title {
	font-size: var(--text-h4);
}

.consultation-form .forminator-textarea {
	min-height: 8rem;
	resize: vertical;
}

/* Messages : confirmation, consultation à venir ou close */
.consultation-notice {
	display: grid;
	gap: var(--space-3);
	padding: var(--space-6);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-bg-alt);
}

.consultation-notice--success {
	border-left: 4px solid var(--color-gold-500);
}

.consultation-notice__title {
	font-size: var(--text-h3);
}

.consultation-notice p {
	margin: 0;
	color: var(--color-text-muted);
}

/* ------------------------------------------------------------------ */
/* Résultats agrégés : barres horizontales, pourcentage toujours écrit  */
/* ------------------------------------------------------------------ */

.consultation-results {
	display: grid;
	gap: var(--space-6);
	scroll-margin-top: calc(var(--header-height) + var(--space-5));
}

.consultation-results__header {
	display: grid;
	gap: var(--space-2);
	padding-top: var(--space-6);
	border-top: 2px solid var(--color-gold-500);
}

.consultation-results__title {
	font-size: var(--text-h2);
}

.consultation-results__meta {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--text-small);
}

.consultation-results__question-block {
	display: grid;
	gap: var(--space-2);
}

.consultation-results__question {
	margin: 0;
	font-size: var(--text-h4);
	line-height: 1.3;
}

.result-bars {
	display: grid;
	gap: var(--space-4);
	margin: var(--space-3) 0 0;
	padding: 0;
	list-style: none;
}

.result-bars__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--space-2) var(--space-4);
	align-items: baseline;
}

.result-bars__label {
	color: var(--color-text);
	line-height: 1.4;
}

.result-bars__value {
	color: var(--color-heading);
	font-weight: var(--weight-semibold);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.result-bars__track {
	grid-column: 1 / -1;
	height: 0.625rem;
	overflow: hidden;
	border-radius: var(--radius-pill);
	background: var(--color-gray-100);
}

.result-bars__bar {
	display: block;
	width: var(--value);
	min-width: 2px;
	height: 100%;
	border-radius: inherit;
	background: var(--color-blue-700);
}

.result-bars__item.is-leading .result-bars__label {
	font-weight: var(--weight-semibold);
}

.result-bars__item.is-leading .result-bars__bar {
	background: var(--color-blue-900);
}

.consultation-results__note {
	margin: 0;
	padding: var(--space-4) var(--space-5);
	border-left: 2px solid var(--color-border-strong);
	color: var(--color-text-muted);
	font-size: var(--text-small);
	line-height: 1.6;
}

/* Version compacte, dans les cartes de l'historique */
.consultation-results--compact {
	gap: var(--space-2);
	padding-top: var(--space-4);
	border-top: 1px solid var(--color-border);
}

.consultation-results--compact .consultation-results__question {
	color: var(--color-heading);
	font-size: var(--text-small);
	font-weight: var(--weight-semibold);
}

.consultation-results--compact .result-bars {
	gap: var(--space-3);
	margin-top: var(--space-1);
	font-size: var(--text-small);
}

.consultation-results--compact .result-bars__track {
	height: 0.375rem;
}

/* ------------------------------------------------------------------ */
/* Index des consultations                                             */
/* ------------------------------------------------------------------ */

.card--consultation .card__count {
	color: var(--color-text-muted);
	font-size: var(--text-small);
	font-variant-numeric: tabular-nums;
}

.consultation-feature {
	display: grid;
	gap: var(--space-6);
	padding: var(--space-6) var(--space-5);
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-gold-500);
	border-radius: var(--radius-md);
	background: var(--color-bg-soft);
}

.consultation-feature__main {
	display: grid;
	align-content: start;
	gap: var(--space-4);
}

.consultation-feature__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2) var(--space-4);
	color: var(--color-text-muted);
	font-size: var(--text-small);
}

.consultation-feature__meta > span:not(.badge) + span::before {
	content: "·";
	margin-right: var(--space-4);
}

.consultation-feature .eyebrow {
	margin: 0;
}

.consultation-feature__title {
	font-size: var(--text-h2);
	line-height: 1.15;
}

.consultation-feature__title a {
	color: inherit;
	text-decoration: none;
}

.consultation-feature__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.consultation-feature__text {
	max-width: 38rem;
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--text-lead);
	line-height: 1.5;
}

.consultation-feature__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
	margin: var(--space-2) 0 0;
}

.consultation-feature__hint {
	color: var(--color-text-muted);
	font-size: var(--text-small);
}

.consultation-feature__aside-title {
	margin: 0 0 var(--space-3);
	color: var(--color-text-muted);
	font-size: var(--text-small);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
}

.consultation-feature__choices {
	display: grid;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.consultation-feature__choices li {
	padding: var(--space-3) var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	color: var(--color-heading);
	line-height: 1.35;
}

.consultation-feature__media img {
	width: 100%;
	height: 100%;
	max-height: 22rem;
	object-fit: cover;
	border-radius: var(--radius-sm);
}

.consultations-subtitle {
	margin: var(--space-7) 0 var(--space-5);
	font-size: var(--text-h4);
}

@media (min-width: 64em) {
	.consultation-feature {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: var(--space-8);
		padding: var(--space-7);
	}
}
