/**
 * Styles du shortcode [produits] (plugin expositions-cpt).
 * Préfixe : .expo-sc-produits — évite les conflits avec le thème.
 *
 * Affichage : nombre de colonnes = f(largeur écran), pas du nombre de produits.
 * 1 produit → une carte centrée (largeur max).
 * 2–6+ → grille qui se remplit (2 colonnes, puis 3… selon la place).
 */

.expo-sc-produits {
	--expo-sc-produits-gap: clamp(16px, 3vw, 28px);
	--expo-sc-produits-border: 1px solid #ddd;
	--expo-sc-produits-price: #e74c3c;
	/* Largeur max d’une carte : évite un bloc énorme quand il n’y en a qu’une ou deux */
	--expo-sc-produits-card-max: 340px;
	/* Largeur mini d’une colonne de grille (s’adapte au mobile via min()) */
	--expo-sc-produits-col-min: 220px;
	/* Ratio vignettes identique pour toutes les cartes (ex. 4 / 3, 1 / 1, 3 / 4) */
	--expo-sc-produits-thumb-ratio: 4 / 3;
	--expo-sc-produits-thumb-bg: #f4f4f4;
	box-sizing: border-box;
	width: 100%;
	margin: 50px 0px;
}

.expo-sc-produits *,
.expo-sc-produits *::before,
.expo-sc-produits *::after {
	box-sizing: inherit;
}

.expo-sc-produits__grid {
	display: grid;
	grid-template-columns: repeat(
		auto-fit,
		minmax(min(100%, var(--expo-sc-produits-col-min)), 1fr)
	);
	gap: var(--expo-sc-produits-gap);
	justify-content: center;
	align-items: stretch;
}

.expo-sc-produits__card {
	text-align: center;
	transition: box-shadow 0.2s ease;
	width: 100%;
	max-width: var(--expo-sc-produits-card-max);
	justify-self: center;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding-bottom: 20px;
}


.expo-sc-produits__media-link {
	display: block;
	overflow: hidden;
	position: relative;
	aspect-ratio: var(--expo-sc-produits-thumb-ratio);
	background: var(--expo-sc-produits-thumb-bg);
}

.expo-sc-produits__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.expo-sc-produits__title {
	margin: 20px 0 20px;
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 600;
	padding: 0px 10px;
}

.expo-sc-produits__title a {
	text-decoration: none;
	color: inherit;
	font-weight: bold;
}


.expo-sc-produits__price {
	font-weight: 700;
	color: var(--expo-sc-produits-price);
	margin: 5px 0 0;
	font-size: 1rem;
}

/* Bouton « Plus d’infos » : visible au survol de la carte (et clavier via :focus-within) */
.expo-sc-produits__btn {
	display: inline-block;
	margin-top: auto;
	padding: 6px 10px;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	color: var(--expo-sc-produits-btn-color);
	background: var(--expo-sc-produits-btn-bg);
	border: 1px solid transparent;
	align-self: center;
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease, background 0.15s ease;
}

.expo-sc-produits__card:hover .expo-sc-produits__btn,
.expo-sc-produits__card:focus-within .expo-sc-produits__btn {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}


@media (prefers-reduced-motion: reduce) {
	.expo-sc-produits__btn {
		transition: none;
		transform: none;
	}
}
