/**
 * Bloc « Conclusion du test ».
 *
 * Trois cartes distinctes — verdict, détail des notes, avis — suivies des
 * composants partagés (points forts / faibles, offres, mention d'affiliation),
 * que le bloc ne redéfinit jamais. Chaque carte porte le même traitement que
 * les autres blocs : fond légèrement contrasté, bordure fine, grand rayon.
 *
 * Encapsulation : chaque règle est portée par .artefact-block afin de primer
 * sur les styles globaux du thème sans recourir à !important.
 */

/* Conteneur de conclusion : purement structurel. Il n'a plus l'apparence d'une
   grande carte englobante — seules les sous-cartes internes restent visibles.
   On ne conserve que la mise en flux (colonne + écart entre sous-blocs). */
.artefact-block.artefact-conclusion {
	/* Dernier bloc du test : colle au bas de sa colonne. Neutralise la marge
	   inférieure partagée de .artefact-block (margin-block: 2rem) sans toucher
	   aux paddings internes ni aux autres blocs. */
	margin-block-end: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	/* Wrapper visuellement neutre : plus de cadre global (fond, bordure, rayon,
	   padding). Les cartes internes gardent leurs propres surfaces. */
	padding: 0;
	border: 0;
	background-color: transparent;
}

/* Carte de section : plus claire que le panneau, elle délimite chaque partie —
   y compris les offres, qui n'avaient pas de cadre. */
.artefact-block .artefact-conclusion__card {
	padding: 2rem;
	border: 1px solid var(--artefact-separator);
	border-radius: 16px;
	background-color: #ffffff;
}

/* La mention d'affiliation clôt le panneau sans carte : le gap du panneau suffit
   à l'espacer, sa propre marge de composant ferait double emploi ici. */
.artefact-block.artefact-conclusion .artefact-affiliate-notice {
	margin-block-start: 0.25rem;
}

/* Titre de section : grand, aligné à gauche, souligné d'un court trait d'accent
   — même registre que le titre du bloc marchand, pour que « Acheter … au
   meilleur prix » rende à l'identique ici. */
.artefact-block .artefact-conclusion__title {
	position: relative;
	margin: 0 0 1.75rem;
	padding-block-end: 0.875rem;
	color: var(--artefact-color-value);
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

/* Titre principal de la conclusion. */
.artefact-block h2.artefact-conclusion__title {
	font-size: clamp(1.375rem, 1.1rem + 1.2vw, 1.875rem);
}

/* Titres de sous-sections : un cran plus petits que le titre principal. */
.artefact-block h3.artefact-conclusion__title {
	margin-block-end: 1.5rem;
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
}

.artefact-block .artefact-conclusion__title::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 0;
	inline-size: 2.5rem;
	block-size: 3px;
	border-radius: 2px;
	background-color: var(--artefact-color-accent);
}

/* --------------------------------------------------------------------------
 * Zone 1 — Verdict : introduction à gauche, note à droite
 * ----------------------------------------------------------------------- */

.artefact-block .artefact-verdict__body {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "main score";
	gap: 1.5rem 2.5rem;
	align-items: start;
}

.artefact-block .artefact-verdict__main {
	grid-area: main;
	min-inline-size: 0;
}

.artefact-block .artefact-verdict__intro {
	margin: 0;
	padding: 0;
	color: var(--artefact-color-label);
	font-size: 1.0625rem;
	line-height: 1.65;
}

/* Coches sous l'introduction. */
.artefact-block .artefact-verdict__highlights {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.artefact-block .artefact-verdict__highlight {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0.4375rem 0.875rem 0.4375rem 0.75rem;
	border-radius: 999px;
	background-color: var(--artefact-accent-tint);
	color: var(--artefact-accent-strong);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	list-style: none;
}

/* Coche dessinée en pseudo-élément, décorative. */
.artefact-block .artefact-verdict__highlight::before {
	content: "";
	flex: 0 0 auto;
	inline-size: 1rem;
	block-size: 1rem;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Note finale, alignée en haut de sa colonne. */
.artefact-block .artefact-verdict__score {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	grid-area: score;
	gap: 0.625rem;
	text-align: end;
}

/* Note et « /10 » sur une même ligne, alignées sur la ligne de base. */
.artefact-block .artefact-verdict__value {
	display: inline-flex;
	align-items: baseline;
}

.artefact-block .artefact-verdict__number {
	color: var(--artefact-color-accent);
	font-size: clamp(2.75rem, 2rem + 3vw, 4rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
}

.artefact-block .artefact-verdict__max {
	margin-inline-start: 0.125rem;
	color: var(--artefact-color-muted);
	font-size: 1.25rem;
	font-weight: 600;
}

.artefact-block .artefact-verdict__rating {
	display: inline-flex;
	align-items: center;
	padding: 0.375rem 0.75rem;
	border-radius: 6px;
	background-color: var(--artefact-accent-tint);
	color: var(--artefact-accent-strong);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
 * Zone 2 — Détail des notes
 * ----------------------------------------------------------------------- */

.artefact-block .artefact-criteria__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.artefact-block .artefact-criteria__row {
	margin: 0;
	padding-block: 1.375rem;
	list-style: none;
}

.artefact-block .artefact-criteria__row:first-child {
	padding-block-start: 0;
}

.artefact-block .artefact-criteria__row:last-child {
	padding-block-end: 0;
}

/* Séparateur fin et discret entre critères. */
.artefact-block .artefact-criteria__row + .artefact-criteria__row {
	border-block-start: 1px solid var(--artefact-separator);
}

/* Libellé à gauche, barre et note groupées à droite. */
.artefact-block .artefact-criteria__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.artefact-block .artefact-criteria__label {
	flex: 1 1 auto;
	min-inline-size: 0;
	color: var(--artefact-color-value);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.3;
}

.artefact-block .artefact-criteria__meter {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 1rem;
}

/* Piste gris clair, barre en bleu de charte. Largeur fixe et courte, calée à
   droite près de la note plutôt que d'occuper toute la ligne. */
.artefact-block .artefact-criteria__track {
	position: relative;
	flex: 0 0 auto;
	inline-size: 8rem;
	block-size: 0.5rem;
	overflow: hidden;
	border-radius: 999px;
	background-color: #e3e6ea;
}

.artefact-block .artefact-criteria__bar {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	display: block;
	border-radius: 999px;
	background-color: var(--artefact-color-accent);
}

.artefact-block .artefact-criteria__value {
	flex: 0 0 auto;
	color: var(--artefact-color-muted);
	font-size: 1rem;
	white-space: nowrap;
}

.artefact-block .artefact-criteria__grade {
	color: var(--artefact-color-value);
	font-size: 1.375rem;
	font-weight: 800;
}

/* Commentaire sous le libellé, aligné sur lui. */
.artefact-block .artefact-criteria__comment {
	margin: 0.75rem 0 0;
	padding: 0;
	color: var(--artefact-color-label);
	font-size: 1rem;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
 * Zone 3 — Avis en bref (contenu enrichi) et boîte d'information
 * ----------------------------------------------------------------------- */

.artefact-block .artefact-review__body {
	color: var(--artefact-color-label);
	font-size: 1.0625rem;
	line-height: 1.7;
}

.artefact-block .artefact-review__body > :first-child {
	margin-block-start: 0;
}

.artefact-block .artefact-review__body > :last-child {
	margin-block-end: 0;
}

.artefact-block .artefact-review__body p {
	margin-block: 0 1rem;
}

.artefact-block .artefact-review__body strong {
	color: var(--artefact-color-value);
	font-weight: 700;
}

.artefact-block .artefact-review__body a {
	color: var(--artefact-color-accent);
	text-decoration: underline;
}

.artefact-block .artefact-review__body a:hover,
.artefact-block .artefact-review__body a:focus {
	color: var(--artefact-accent-strong);
}

.artefact-block .artefact-review__body ul,
.artefact-block .artefact-review__body ol {
	margin-block: 0 1rem;
	padding-inline-start: 1.25rem;
}

.artefact-block .artefact-review__body li {
	margin-block-end: 0.375rem;
}

/* Boîte d'information : fond bleu très léger, picto, lien bleu. Distincte de la
   mention d'affiliation, discrète et grise. */
.artefact-block .artefact-verdict-info {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
	margin-block-start: 1.75rem;
	padding: 1.125rem 1.25rem;
	border-radius: 12px;
	background-color: var(--artefact-accent-tint);
}

.artefact-block .artefact-verdict-info__icon {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--artefact-color-accent);
}

.artefact-block .artefact-verdict-info__content {
	color: var(--artefact-color-label);
	font-size: 1.0625rem;
	line-height: 1.6;
}

.artefact-block .artefact-verdict-info__content > :first-child {
	margin-block-start: 0;
}

.artefact-block .artefact-verdict-info__content > :last-child {
	margin-block-end: 0;
}

.artefact-block .artefact-verdict-info__content p {
	margin-block: 0 0.5rem;
}

.artefact-block .artefact-verdict-info__content a {
	color: var(--artefact-color-accent);
	font-weight: 600;
	text-decoration: underline;
}

.artefact-block .artefact-verdict-info__content a:hover,
.artefact-block .artefact-verdict-info__content a:focus {
	color: var(--artefact-accent-strong);
}

/* --------------------------------------------------------------------------
 * Composants partagés : titre des offres
 * ----------------------------------------------------------------------- */

.artefact-block .artefact-conclusion__offers .artefact-conclusion__title {
	margin-block-end: 1.5rem;
}

/* --------------------------------------------------------------------------
 * Responsive
 * ----------------------------------------------------------------------- */

@media (max-width: 600px) {
	.artefact-block .artefact-conclusion__card {
		padding: 1.5rem 1.25rem;
	}

	/* La note passe au-dessus de l'introduction. */
	.artefact-block .artefact-verdict__body {
		grid-template-columns: 1fr;
		grid-template-areas:
			"score"
			"main";
		gap: 1.5rem;
	}

	.artefact-block .artefact-verdict__score {
		align-items: flex-start;
		text-align: start;
	}

	/* Libellé au-dessus de la barre : barre et note ne se chevauchent jamais. */
	.artefact-block .artefact-criteria__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.625rem;
	}
}
