/**
 * Termes d'un contenu (core/post-terms) — styles « Texte » et badges (ISS-0051).
 *
 * Cette feuille lisait 28 jetons d'un ancien schéma (`component.badge.*`,
 * `semantic.color.label.*`, `colors.neutral.*`) que theme.json ne définit plus :
 * les badges gardaient leurs marges, et perdaient fond, bordure et couleur
 * (fiche Matériel de monmat, taxonomie « chantier »).
 *
 * Elle lit désormais les rampes du thème, celles que Studio compile et que la
 * passe de contraste vérifie : `ramp.<rôle>.<ton>` et `ramp.on-<rôle>.<ton>`.
 *
 * **Une famille de couleur par taxonomie**, posée en variables sur le bloc —
 * catégories en primaire, étiquettes en secondaire, toute autre taxonomie
 * (chantier, …) en neutre — puis chaque style ne lit que ces variables.
 */

/* Base */
.wp-block-post-terms {
	font-size: inherit;
	--terme-50: var(--wp--custom--ramp--neutral--50);
	--terme-100: var(--wp--custom--ramp--neutral--100);
	--terme-200: var(--wp--custom--ramp--neutral--200);
	--terme-700: var(--wp--custom--ramp--neutral--700);
	--terme-800: var(--wp--custom--ramp--neutral--800);
	--terme-900: var(--wp--custom--ramp--neutral--900);
	--terme-sur-700: var(--wp--custom--ramp--on-neutral--700);
	--terme-sur-800: var(--wp--custom--ramp--on-neutral--800);
	--terme-sur-900: var(--wp--custom--ramp--on-neutral--900);
}

.wp-block-post-terms.taxonomy-category {
	--terme-50: var(--wp--custom--ramp--primary--50);
	--terme-100: var(--wp--custom--ramp--primary--100);
	--terme-200: var(--wp--custom--ramp--primary--200);
	--terme-700: var(--wp--custom--ramp--primary--700);
	--terme-800: var(--wp--custom--ramp--primary--800);
	--terme-900: var(--wp--custom--ramp--primary--900);
	--terme-sur-700: var(--wp--custom--ramp--on-primary--700);
	--terme-sur-800: var(--wp--custom--ramp--on-primary--800);
	--terme-sur-900: var(--wp--custom--ramp--on-primary--900);
}

.wp-block-post-terms.taxonomy-post_tag {
	--terme-50: var(--wp--custom--ramp--secondary--50);
	--terme-100: var(--wp--custom--ramp--secondary--100);
	--terme-200: var(--wp--custom--ramp--secondary--200);
	--terme-700: var(--wp--custom--ramp--secondary--700);
	--terme-800: var(--wp--custom--ramp--secondary--800);
	--terme-900: var(--wp--custom--ramp--secondary--900);
	--terme-sur-700: var(--wp--custom--ramp--on-secondary--700);
	--terme-sur-800: var(--wp--custom--ramp--on-secondary--800);
	--terme-sur-900: var(--wp--custom--ramp--on-secondary--900);
}

/* « Neutre » et « Neutre clair » : neutres quelle que soit la taxonomie. */
.wp-block-post-terms:is(.is-style-label-solid-neutral, .is-style-label-solid-neutral-light) {
	--terme-50: var(--wp--custom--ramp--neutral--50);
	--terme-100: var(--wp--custom--ramp--neutral--100);
	--terme-200: var(--wp--custom--ramp--neutral--200);
	--terme-700: var(--wp--custom--ramp--neutral--700);
	--terme-800: var(--wp--custom--ramp--neutral--800);
	--terme-900: var(--wp--custom--ramp--neutral--900);
	--terme-sur-700: var(--wp--custom--ramp--on-neutral--700);
	--terme-sur-800: var(--wp--custom--ramp--on-neutral--800);
	--terme-sur-900: var(--wp--custom--ramp--on-neutral--900);
}

/* Style « Texte » : simple lien */
.wp-block-post-terms.is-style-label-text a {
	padding: 0;
	border: none;
	background: none;
	text-decoration: none;
}

.wp-block-post-terms.is-style-label-text a:hover {
	text-decoration: underline;
}

.wp-block-post-terms.is-style-label-text:focus-within a {
	outline: 2px dashed currentColor;
	outline-offset: 2px;
}

/* Badges : la forme commune */
.wp-block-post-terms:is(.is-style-label-solid, .is-style-label-solid-light, .is-style-label-solid-neutral, .is-style-label-solid-neutral-light, .is-style-label-border) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--custom--semantic--spacing--base-150);
}

.wp-block-post-terms:is(.is-style-label-solid, .is-style-label-solid-light, .is-style-label-solid-neutral, .is-style-label-solid-neutral-light, .is-style-label-border) .wp-block-post-terms__separator {
	display: none;
}

.wp-block-post-terms:is(.is-style-label-solid, .is-style-label-solid-light, .is-style-label-solid-neutral, .is-style-label-solid-neutral-light, .is-style-label-border) a {
	display: inline-flex;
	align-items: center;
	padding: var(--wp--custom--semantic--spacing--base-050) var(--wp--custom--semantic--spacing--base-200);
	border: 1px solid transparent;
	border-radius: var(--wp--custom--semantic--border--radius--control--full);
	font-size: inherit;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.wp-block-post-terms:is(.is-style-label-solid, .is-style-label-solid-light, .is-style-label-solid-neutral, .is-style-label-solid-neutral-light, .is-style-label-border) a:focus-visible {
	outline: 2px solid color-mix(in srgb, currentColor 55%, transparent);
	outline-offset: 2px;
}

/* « Plein » et « Neutre » : fond soutenu, texte calculé pour ce fond */
.wp-block-post-terms:is(.is-style-label-solid, .is-style-label-solid-neutral) a {
	background: var(--terme-700);
	color: var(--terme-sur-700);
}

.wp-block-post-terms:is(.is-style-label-solid, .is-style-label-solid-neutral) a:hover {
	background: var(--terme-800);
	color: var(--terme-sur-800);
}

.wp-block-post-terms:is(.is-style-label-solid, .is-style-label-solid-neutral) a:active {
	background: var(--terme-900);
	color: var(--terme-sur-900);
}

/* « Plein clair » et « Neutre clair » : fond léger, texte foncé */
.wp-block-post-terms:is(.is-style-label-solid-light, .is-style-label-solid-neutral-light) a {
	background: var(--terme-50);
	color: var(--terme-800);
}

.wp-block-post-terms:is(.is-style-label-solid-light, .is-style-label-solid-neutral-light) a:hover {
	background: var(--terme-100);
}

.wp-block-post-terms:is(.is-style-label-solid-light, .is-style-label-solid-neutral-light) a:active {
	background: var(--terme-200);
}

/* « Contour » : bordure et texte de la famille, fond léger au survol */
.wp-block-post-terms.is-style-label-border a {
	background: none;
	border-color: var(--terme-700);
	color: var(--terme-700);
}

.wp-block-post-terms.is-style-label-border a:hover {
	background: var(--terme-50);
	border-color: var(--terme-800);
	color: var(--terme-800);
}

.wp-block-post-terms.is-style-label-border a:active {
	background: var(--terme-100);
}
