/*
 * Photos (plugin Miniatures) : piste défilante, tuiles, visionneuse, fiche.
 * Les couleurs viennent du thème (variables --fbm-*), avec repli si le thème
 * ne les fournit pas. Les coins arrondis se règlent avec --fbm-rayon-photo.
 */

.mini-piste,
.mini-gtuiles-page,
.mini-fiche-photos,
.mini-capsules,
.mini-voisins,
.mini-recette-lot,
.mini-encarts,
.mini-entete-projet,
.mini-carte,
.mini-etabli,
.mini-afaire,
.mini-lb {
	--mp-carte: var(--fbm-carte, var(--wp--preset--color--base, #fff));
	--mp-texte: var(--fbm-texte, var(--wp--preset--color--contrast, #222));
	--mp-doux: var(--fbm-doux, color-mix(in srgb, var(--mp-texte) 62%, transparent));
	--mp-ligne: var(--fbm-ligne, color-mix(in srgb, var(--mp-texte) 16%, transparent));
	--mp-voile: var(--fbm-voile, color-mix(in srgb, var(--mp-texte) 5%, transparent));
	--mp-accent: var(--fbm-accent, var(--wp--preset--color--accent-1, #c02040));
	--mp-rayon: var(--fbm-rayon-photo, 10px);
	--mp-h: 280px;
}

/* Les images isolées d'un article : coins arrondis, et jamais plus hautes qu'un écran. */
.entry-content .wp-block-image img,
.entry-content .wp-block-media-text__media img,
.entry-content .wp-block-media-text__media {
	border-radius: var(--fbm-rayon-photo, 10px);
}
.entry-content .wp-block-image img {
	height: auto;
	max-height: min(72vh, 640px);
	width: auto;
	max-width: 100%;
	object-fit: contain;
}
.entry-content .wp-block-image { margin-block: 1.4em; }
/* Une image plus étroite que la colonne se centre (sauf alignement à gauche ou à droite voulu).
   L'image est un bloc : pas de décalage de ligne de base entre deux images côte à côte. */
.entry-content .wp-block-image:not(.alignleft):not(.alignright) { text-align: center; }
.entry-content .wp-block-image img { display: block; margin-inline: auto; }
.entry-content .wp-block-image a { display: block; width: fit-content; max-width: 100%; margin-inline: auto; }
.entry-content .wp-block-image figure { margin: 0; }
.entry-content .wp-block-image figcaption,
.entry-content .wp-element-caption {
	margin: .6em auto 0;
	color: var(--fbm-doux, inherit);
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}

/* Images côte à côte dans un groupe (anciens articles) : centrées, alignées par le haut, sans marge propre. */
.entry-content .wp-block-group:has(> .wp-block-image) {
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
}
.entry-content .wp-block-group > .wp-block-image { margin-block: 0; }
.entry-content .wp-block-image a[data-grand] { cursor: zoom-in; }

/* ---------------------------------------------------------------------
 * Piste défilante : une hauteur fixe, chaque photo garde ses proportions
 * ------------------------------------------------------------------ */

.mini-piste { position: relative; margin: 1.6em 0; }

.mini-piste-voie {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
	scrollbar-color: var(--mp-accent) transparent;
	padding-bottom: 10px;
	border-radius: var(--mp-rayon);
	justify-content: safe center;
}
.mini-piste-voie:focus-visible { outline: 2px solid var(--mp-accent); outline-offset: 3px; }

.mini-piste-vue {
	position: relative;
	flex: 0 0 auto;
	height: var(--mp-h);
	width: calc(var(--mp-h) * var(--r, 1.33));
	max-width: 88%;
	margin: 0;
	overflow: hidden;
	scroll-snap-align: start;
	border-radius: var(--mp-rayon);
	background: var(--mp-voile);
}
.mini-piste-vue::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px var(--mp-ligne);
	pointer-events: none;
}

.mini-piste-lien { display: block; width: 100%; height: 100%; line-height: 0; cursor: zoom-in; }
.mini-piste-vue img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	max-width: none;
	object-fit: contain;
	border-radius: 0;
	transition: transform .35s;
}
.mini-piste-vue:hover img { transform: scale(1.02); }

.mini-piste-n {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	padding: 2px 9px;
	border-radius: 999px;
	background: rgba(20, 17, 15, .62);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	font-variant-numeric: tabular-nums;
	pointer-events: none;
}

.mini-piste-vue figcaption {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	padding: 26px 12px 9px;
	background: linear-gradient(transparent, rgba(0, 0, 0, .66));
	color: #fff;
	font-size: 13px;
	line-height: 1.35;
	pointer-events: none;
}

.mini-piste-fl {
	position: absolute;
	top: calc(var(--mp-h) / 2);
	z-index: 3;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	translate: 0 -50%;
	background: var(--mp-carte);
	color: var(--mp-texte);
	font-size: 22px;
	line-height: 36px;
	text-align: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .4);
	cursor: pointer;
	transition: opacity .2s;
}
.mini-piste-fl:hover, .mini-piste-fl:focus { background: var(--mp-carte); color: var(--mp-accent); }
.mini-piste-fl:focus-visible { outline: 2px solid var(--mp-accent); outline-offset: 2px; }
.mini-piste-fl[hidden] { display: none; }
.mini-piste-fl:disabled { opacity: 0; pointer-events: none; }
.mini-piste-g { left: 8px; }
.mini-piste-d { right: 8px; }

@media (hover: none) { .mini-piste-fl { display: none; } }
@media (max-width: 600px) { .mini-piste, .mini-gtuiles-page, .mini-fiche-photos { --mp-h: 230px; } }

/* ---------------------------------------------------------------------
 * Page Galerie : filtres et tuiles
 * ------------------------------------------------------------------ */

.mini-gtuiles-page { display: grid; gap: 18px; margin-block: 1.6em; }

.mini-filtres-img { scroll-margin-top: 4.5rem; }
.mini-filtres-img ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.mini-filtres-img li { margin: 0; padding: 0; }
.mini-gtuiles-page .mini-filtres-img li a {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	padding: 4px 6px 4px 14px;
	border: 1px solid color-mix(in srgb, var(--mp-texte) 28%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--mp-texte) 28%, transparent) !important;
	border-radius: 999px;
	color: var(--mp-doux);
	font-size: 15px;
	line-height: 1.3;
	text-decoration: none;
	box-shadow: none;
	transition: background-color .15s, border-color .15s, color .15s;
}
.mini-gtuiles-page .mini-filtres-img li a .mini-filtre-n {
	min-width: 1.7em;
	padding: 1px 7px;
	border-radius: 999px;
	background: color-mix(in srgb, currentColor 12%, transparent);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	text-align: center;
}
.mini-gtuiles-page .mini-filtres-img li a:hover { color: var(--mp-texte); border-color: var(--mp-texte); border-bottom: 1px solid var(--mp-texte) !important; box-shadow: none; text-decoration: none; }
.mini-gtuiles-page .mini-filtres-img li a.est-actif { background: var(--mp-accent); border-color: var(--mp-accent); border-bottom-color: var(--mp-accent) !important; color: var(--fbm-sur-accent, #fff); }
.mini-gtuiles-page .mini-filtres-img li a:focus-visible { outline: 2px solid var(--mp-accent); outline-offset: 2px; }
.mini-gtuiles-page [hidden] { display: none !important; }

.mini-gtuiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 8px; }

.mini-gtuile {
	position: relative;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: var(--mp-rayon);
	background: var(--mp-voile);
}
.mini-gtuile::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px var(--mp-ligne);
	pointer-events: none;
}
.mini-gtuile a { display: block; width: 100%; height: 100%; line-height: 0; cursor: zoom-in; }
.mini-gtuile img { width: 100%; height: 100%; max-height: none; object-fit: cover; display: block; border-radius: 0; transition: transform .4s; }
.mini-gtuile figcaption {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	display: grid;
	gap: 1px;
	padding: 30px 10px 9px;
	background: linear-gradient(transparent, rgba(0, 0, 0, .74));
	color: #fff;
	font-size: 13px;
	line-height: 1.25;
	opacity: 0;
	translate: 0 30%;
	transition: opacity .25s, translate .25s;
	pointer-events: none;
}
.mini-gtuile figcaption b {
	font-family: var(--fbm-police-titre, inherit);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
}
.mini-gtuile:hover img, .mini-gtuile:focus-within img { transform: scale(1.05); }
.mini-gtuile:hover figcaption, .mini-gtuile:focus-within figcaption { opacity: 1; translate: 0; }
@media (hover: none) { .mini-gtuile figcaption { opacity: 1; translate: 0; } }

.mini-vide-img { grid-column: 1 / -1; color: var(--mp-doux); }

/* ---------------------------------------------------------------------
 * Fiche d'une figurine : photo principale et vignettes
 * ------------------------------------------------------------------ */

.mini-fiche-photos { display: grid; gap: 8px; margin: 0; }
.mini-fiche-photos .mini-photo-principale {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--mp-rayon);
	background: #fff; /* Fond des photos toujours blanc, en mode clair comme sombre. */
}
.mini-fiche-photos .mini-photo-principale::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px var(--mp-ligne);
	pointer-events: none;
}
.mini-fiche-photos .mini-photo-principale a { display: block; width: 100%; height: 100%; line-height: 0; cursor: zoom-in; }
.mini-fiche-photos .mini-photo-principale img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: contain;
	border-radius: 0;
}
.mini-photo-vignettes { display: grid; grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 6px; }
.mini-photo-vignette {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 6px;
	background: #fff;
	line-height: 0;
	opacity: .78;
	transition: opacity .15s;
}
.mini-photo-vignette.est-cachee { display: none; }
.mini-photo-vignette[data-plus]::after {
	content: attr(data-plus);
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(20, 17, 15, .62);
	color: #fff;
	font-family: var(--fbm-police-titre, inherit);
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
}
.mini-photo-vignette img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.mini-photo-vignette:hover, .mini-photo-vignette.est-active { opacity: 1; }
.mini-photo-vignette.est-active { outline: 2px solid var(--mp-accent); outline-offset: -2px; }
.mini-photo-vignette:focus-visible { outline: 2px solid var(--mp-accent); outline-offset: 2px; }

/* Mise en page : photos à gauche, repères à droite (écrans larges).
   Le groupe WordPress peut ajouter un conteneur interne : les deux cas sont couverts. */
.mini-fiche-lot,
.mini-fiche-lot > .wp-block-group__inner-container {
	display: grid;
	gap: clamp(18px, 4vw, 36px);
	align-items: start;
	margin-block: 1em;
}
.mini-fiche-lot > .wp-block-group__inner-container { margin-block: 0; }
.mini-fiche-lot p:empty { display: none; }
.mini-fiche-lot :is(.mini-fiche-texte, .mini-fiche-photos) { min-width: 0; }
.mini-fiche-texte > .mini + .mini { margin-top: 1.4em; }
@media (min-width: 760px) {
	.mini-fiche-lot:has(> .mini-fiche-photos),
	.mini-fiche-lot > .wp-block-group__inner-container:has(> .mini-fiche-photos) {
		grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	}
}

/* ---------------------------------------------------------------------
 * Visionneuse
 * ------------------------------------------------------------------ */

.mini-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	place-items: center;
	padding: 16px;
	background: rgba(12, 10, 9, .93);
}
.mini-lb.est-ouverte { display: grid; }
.mini-lb figure { display: grid; justify-items: center; gap: 10px; max-width: 100%; margin: 0; }
.mini-lb img { display: block; max-width: min(94vw, 1100px); max-height: 80vh; width: auto; height: auto; border-radius: 6px; }
.mini-lb figcaption { color: #d9d0c8; font-size: 14px; text-align: center; }
.mini-lb-art { color: #fff; margin-left: .6em; text-decoration: underline; }
.mini-lb button {
	position: absolute;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	font-size: 22px;
	line-height: 44px;
	cursor: pointer;
}
.mini-lb button:hover, .mini-lb button:focus { background: rgba(255, 255, 255, .26); color: #fff; }
.mini-lb button:focus-visible, .mini-lb-art:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.mini-lb-x { top: 14px; right: 14px; }
.mini-lb-p { left: 14px; top: 50%; translate: 0 -50%; }
.mini-lb-n { right: 14px; top: 50%; translate: 0 -50%; }
.mini-lb.est-seule .mini-lb-p, .mini-lb.est-seule .mini-lb-n { display: none; }
html.mini-lb-ouverte { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.mini-piste-vue img, .mini-gtuile img, .mini-gtuile figcaption { transition: none; }
}


/* Fiche : titre à droite de la photo, informations en capsules */
.mini-fiche-texte .wp-block-post-title,
.mini-fiche-texte .entry-title { margin: 0 0 .45em; font-size: clamp(26px, 3.4vw, 36px); line-height: 1.12; }
.mini-fiche-texte > .mini + .mini { margin-top: .9em; }
.mini-capsules { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 .2em; padding: 0; list-style: none; }
.mini-capsules > li {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	margin: 0;
	padding: 3px 12px;
	border: 1px solid var(--mp-ligne);
	border-radius: 999px;
	background: var(--mp-voile);
	color: var(--fbm-texte, inherit);
	font-size: 14px;
	line-height: 1.5;
}
.mini-capsules .mini-capsule-l { color: var(--fbm-doux, inherit); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.mini-capsules a { color: inherit; text-decoration: none; box-shadow: none; font-weight: 600; }
.mini-capsules a:hover, .mini-capsules a:focus-visible { color: var(--mp-accent); text-decoration: underline; }
.mini-capsules .mini-logo { width: 18px; height: 18px; object-fit: contain; border-radius: 3px; margin: 0; }
.mini-capsules .mini-capsule-jeu { background: var(--mp-accent); border-color: var(--mp-accent); color: var(--fbm-sur-accent, #fff); }
.mini-fiche-texte .mini-note-lot { margin-top: .9em; }

.mini-fiche-photos img { filter: none; }
.mini-fiche-texte .mini-rattachement { margin-bottom: 1.1em; }
.mini-capsules a, .mini-capsules a:hover { text-decoration: none; }
.mini-capsules a:hover, .mini-capsules a:focus-visible { text-decoration: underline; }
.mini-capsules .mini-logo { padding: 2px; background: #fff; border-radius: 50%; box-sizing: content-box; }
.entry-content .mini-capsules li a { color: var(--mp-texte); text-decoration: none; border: 0; box-shadow: none; font-weight: 600; }
.entry-content .mini-capsules li a:hover, .entry-content .mini-capsules li a:focus-visible { color: var(--mp-accent); text-decoration: underline; }

/* Capsules : sans contour (elles ne sont pas cliquables), plus basses */
.mini-capsules > li { border: 0; padding: 1px 10px; font-size: 13px; line-height: 1.5; background: color-mix(in srgb, var(--mp-texte) 9%, transparent); }
.mini-capsules > li.mini-capsule-jeu { background: var(--mp-accent); }
.mini-capsules .mini-capsule-l { font-size: 11px; }
.mini-capsules .mini-logo { width: 14px; height: 14px; }
.mini-fiche-texte .mini-reperes { margin-top: 1.6em; }
.mini-capsules { gap: 8px 6px; }

/* Fiche : informations complémentaires en encarts compacts */
.mini-voisins, .mini-recette-lot {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 14px;
	align-items: start;
	margin-top: 2em;
}
.mini-recette-lot + .mini-voisins { margin-top: 14px; }
.mini-encart {
	min-width: 0;
	padding: 16px 18px 14px;
	border-radius: var(--mp-rayon);
	background: var(--mp-voile);
	font-size: 14px;
	line-height: 1.4;
}
.mini-encart .mini-encart-t {
	margin: 0 0 .6em;
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mp-doux);
}
.mini-encart .mini-voisins-t { margin: -.3em 0 .5em; font-size: 13px; }
.mini-encart .mini-etabli-l li { padding-block: 7px; gap: 10px; }
.mini-encart .mini-etabli-n { font-size: 15px; min-width: 1.4rem; }
.mini-encart .mini-etabli-c a { font-size: 14px; }
.mini-encart .mini-surtitre { font-size: 12px; }
.mini-encart .mini-etabli-b { transform: scale(.9); transform-origin: right center; }
.mini-encart .mini-peintures, .mini-encart .mini-journal { font-size: 14px; }
.mini-encart-plus { margin: .7em 0 0; font-size: 13px; }

.entry-content .mini-encart a { color: var(--mp-texte); text-decoration: none; border: 0; box-shadow: none; }
.entry-content .mini-encart a:hover, .entry-content .mini-encart a:focus-visible { color: var(--mp-accent); text-decoration: underline; }
.mini-encart .mini-surtitre { display: block; text-transform: none; letter-spacing: 0; font-size: 12px; color: var(--mp-doux); }

/* Encarts : une seule grille pour tous (recette, peintures, journal, voisins) */
.mini-encarts,
.mini-encarts > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 14px;
	align-items: start;
	margin-top: 2em;
}
.mini-encarts p:empty { display: none; }
.mini-encarts .mini-voisins, .mini-encarts .mini-recette-lot { display: contents; margin: 0; }
.mini-encart .mini-journal, .mini-encart .mini-peintures { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.mini-encart .mini-journal li, .mini-encart .mini-peintures li { margin: 0; padding: 7px 0; border-bottom: 1px solid var(--mp-ligne); }
.mini-encart .mini-journal li:last-child, .mini-encart .mini-peintures li:last-child { border-bottom: 0; }
.mini-encart .mini-recette > :last-child { margin-bottom: 0; }

/* Encarts en colonnes : chacun prend sa hauteur, sans grands vides entre eux */
.mini-encarts,
.mini-encarts > .wp-block-group__inner-container {
	display: block;
	column-width: 320px;
	column-count: 2;
	column-gap: 14px;
}
.mini-encarts .mini-encart {
	break-inside: avoid;
	margin: 0 0 14px;
}
@media (max-width: 700px) {
	.mini-encarts, .mini-encarts > .wp-block-group__inner-container { column-count: 1; }
}
.mini-encarts > .wp-block-group__inner-container { margin: 0; }
.mini-article-liens, .mini-journal-projet { margin-top: 2em; }
.entry-content .mini-encarts .mini-doux { color: var(--mp-doux); }

/* Journal d'un projet : encart pleine largeur, liste sur deux colonnes */
.mini-journal-projet.mini-encarts { column-count: 1; column-width: auto; }
.mini-journal-projet .mini-journal { display: block; column-width: 280px; column-gap: 28px; }
.mini-journal-projet .mini-journal li { break-inside: avoid; }
.mini-journal-lots { display: block; font-size: 12px; color: var(--mp-doux); }

/* Tableau de bord : En cours / À monter / À sous-coucher / À vernir en encarts alignés sur une grille 2 x 2 */
.entry-content:has(> .mini-afaire) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.entry-content:has(> .mini-afaire) > :not(.mini-etabli):not(.mini-afaire) { grid-column: 1 / -1; }
.entry-content:has(> .mini-afaire) > :is(.mini-etabli, .mini-afaire) { display: contents; }
.entry-content:has(> .mini-afaire) { row-gap: 0; }
/* Toutes les cartes ont la même marge haute et aucune marge basse : les lignes de la grille restent alignées. */
.entry-content:has(> .mini-afaire) .mini-encart { margin: 1.6em 0 0; align-self: start; }
/* Page « À faire » seule (3 cartes) : la longue liste « À monter » occupe la colonne de gauche, les deux autres s'empilent à droite. */
.entry-content:has(> .mini-afaire):not(:has(> .mini-etabli)) .mini-afaire .mini-encart:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
.entry-content:has(> .mini-afaire):not(:has(> .mini-etabli)) .mini-afaire .mini-encart:nth-child(2) { grid-column: 2; grid-row: 1; }
.entry-content:has(> .mini-afaire):not(:has(> .mini-etabli)) .mini-afaire .mini-encart:nth-child(3) { grid-column: 2; grid-row: 2; }
.mini-encart .mini-encart-n { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--mp-doux); }
.mini-encart .mini-afaire-l { margin: 0; }
.mini-encart .mini-afaire-l li { padding-block: 6px; border-bottom: 1px solid var(--mp-ligne); }
.mini-encart .mini-afaire-l li:last-child { border-bottom: 0; }
.mini-encart .mini-afaire-suite { margin: .7em 0 0; font-size: 13px; }
.mini-encart .mini-vide { margin: 0; font-size: 14px; color: var(--mp-doux); }
.mini-encart .mini-afaire-c a { font-size: 14px; }
@media (max-width: 700px) {
	.entry-content:has(> .mini-afaire) { grid-template-columns: minmax(0, 1fr); }
	.entry-content:has(> .mini-afaire) .mini-afaire .mini-encart { grid-column: auto !important; grid-row: auto !important; }
}


/* Cartes des projets : image pleine largeur, jeu et titre par-dessus (dégradé toujours visible) */
.mini-carte { --mini-rayon: var(--mp-rayon); }
.mini-carte .mini-carte-img {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	line-height: 0;
	background: #fff;
	text-decoration: none;
	color: #fff;
}
.mini-carte .mini-carte-img.est-vide {
	background: linear-gradient(135deg, color-mix(in srgb, var(--mp-accent) 38%, #1c1815), #1c1815);
}
.mini-carte .mini-carte-img img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: 50% 35%;
	filter: none;
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}
.mini-carte .mini-carte-legende {
	position: absolute;
	inset: auto 0 0 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 56px 16px 14px;
	line-height: 1.2;
	background: linear-gradient(to top, rgba(12, 10, 9, .86) 0%, rgba(12, 10, 9, .55) 55%, transparent 100%);
}
.mini-carte .mini-carte-legende > * { transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.mini-carte .mini-carte-legende .mini-surtitre { margin: 0; font-size: 11px; color: rgba(255, 255, 255, .78); }
.mini-carte .mini-carte-legende .mini-carte-titre {
	margin: 0;
	font-family: var(--fbm-police-titre, inherit);
	font-size: clamp(19px, 2.2vw, 24px);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: #fff;
	text-wrap: balance;
}
.mini-carte .mini-carte-corps { padding: 12px 16px 14px; gap: 6px; }
.mini-carte .mini-carte-meta { font-size: 13px; }
.mini-carte { transition: box-shadow .3s, transform .3s; }
.mini-carte:hover, .mini-carte:focus-within { box-shadow: 0 10px 28px rgba(0, 0, 0, .28); }
.mini-carte:hover .mini-carte-img img, .mini-carte:focus-within .mini-carte-img img { transform: scale(1.06); }
.mini-carte:hover .mini-carte-legende > *, .mini-carte:focus-within .mini-carte-legende > * { transform: translateY(-8px); }
.mini-carte .mini-carte-img:focus-visible { outline: 2px solid var(--mp-accent); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) {
	.mini-carte, .mini-carte .mini-carte-img img, .mini-carte .mini-carte-legende > * { transition: none; }
	.mini-carte:hover .mini-carte-img img, .mini-carte:hover .mini-carte-legende > * { transform: none; }
}

.mini-carte .mini-carte-img { isolation: isolate; }
.mini-carte .mini-carte-legende { bottom: -1px; padding-bottom: 15px; }


/* Fiche projet : bandeau d'en-tête, image pleine largeur avec jeu et titre par-dessus */
.mini-entete-projet { margin: 0 0 1.4em; }
.mini-hero {
	position: relative;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 21 / 9;
	border-radius: var(--mp-rayon);
	background: #fff;
	color: #fff;
}
.mini-hero.est-vide { aspect-ratio: auto; min-height: 220px; background: linear-gradient(135deg, color-mix(in srgb, var(--mp-accent) 38%, #1c1815), #1c1815); }
.mini-hero img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; filter: none; margin: 0; border-radius: 0; max-height: none; }
.mini-hero-legende {
	position: absolute;
	inset: auto 0 -1px 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 90px clamp(16px, 3vw, 28px) 20px;
	background: linear-gradient(to top, rgba(12, 10, 9, .88) 0%, rgba(12, 10, 9, .55) 55%, transparent 100%);
}
.mini-hero.est-vide .mini-hero-legende { position: relative; min-height: 220px; justify-content: flex-end; background: none; }
.mini-hero-legende .mini-surtitre { margin: 0; font-size: 12px; color: rgba(255, 255, 255, .8); }
.entry-content .mini-hero-titre, .mini-hero-titre {
	margin: 0;
	padding: 0;
	font-family: var(--fbm-police-titre, inherit);
	font-size: clamp(28px, 4.4vw, 46px);
	font-weight: 600;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: #fff;
	text-wrap: balance;
}
.mini-hero-caps { margin: 12px 0 0; }
@media (max-width: 600px) { .mini-hero { aspect-ratio: 4 / 3; } }


/* Bandeau projet : pleine largeur de la carte, capsules dans l'image sous le titre */
.mini-entete-projet {
	margin-inline: calc(-1 * var(--fbm-interieur, 0px));
	margin-bottom: 1.6em;
}
.mini-entete-projet .mini-hero { border-radius: var(--fbm-rayon, 12px) var(--fbm-rayon, 12px) 0 0; aspect-ratio: 21 / 9; }
.mini-entete-projet .mini-hero.est-vide { margin-top: calc(-1 * var(--fbm-interieur, 0px)); }
.mini-hero-legende { padding-inline: var(--fbm-interieur, 24px); }
.mini-hero-caps { margin: 10px 0 0; }
.entry-content .mini-hero-caps > li { background: rgba(255, 255, 255, .16); color: #fff; backdrop-filter: blur(6px); }
.mini-hero-caps .mini-capsule-l { color: rgba(255, 255, 255, .75); }
.entry-content .mini-hero-caps a { color: #fff; }
@media (max-width: 600px) { .mini-entete-projet .mini-hero { aspect-ratio: 4 / 3; } }

/* Bandeau projet : collé en haut de la carte, capsules plus proches du titre */
.entry-content:has(> .mini-entete-projet) > p:empty { display: none; }
.mini-hero-legende .mini-hero-caps { margin-top: 0; }
.mini-hero-legende { gap: 2px; }

/* Toujours de l'air sous les compteurs et leur légende, quel que soit le bloc qui suit */
.entry-content .mini-compteurs { margin-bottom: 2.2em; }
.entry-content .mini-compteurs + * { margin-top: 0; }

/* Liens des encarts : couleur du texte, puis accent au survol (visités compris) */
.entry-content .mini-encart a:visited { color: var(--mp-texte); }
.entry-content .mini-encart a:is(:hover, :focus-visible), .entry-content .mini-encart a:visited:is(:hover, :focus-visible) { color: var(--mp-accent); text-decoration: underline; text-decoration-thickness: 2px; }
