/* Cam3D — Cartes illustrées */

.wcam-cases__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.wcam-cases__card {
	display: flex;
	flex-direction: column;
	padding: 8px;
	border-radius: var(--wcam-radius);
	background: var(--wcam-white);
}

.wcam-cases__media {
	display: block;
	overflow: hidden;
	border-radius: 8px;
	aspect-ratio: 426 / 220;
	background: #e3e6ec;
}

.wcam-cases__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.wcam-cases__card--link:hover .wcam-cases__media img {
	transform: scale(1.04);
}

.wcam-cases__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 14px 14px;
}

.wcam-cases__title {
	font-family: var(--wcam-font-title);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.wcam-cases__text {
	color: var(--wcam-muted);
	font-size: 15px;
	line-height: 1.5;
}

/* Cartes avec surtitre (ex. matériel de l'atelier) : image au format d'origine. */
.wcam-cases--labels .wcam-cases__media {
	aspect-ratio: 852 / 560; /* format des photos de la maquette : une photo portrait est recadrée */
}

.wcam-cases--labels .wcam-cases__body {
	gap: 8px;
	padding: 18px 12px 12px;
}

.wcam-cases__label {
	color: var(--wcam-red);
	font-family: var(--wcam-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.wcam-cases--labels .wcam-cases__title {
	font-size: 28px;
}

/* Cartes sans image (ex. familles de filaments) : autant de colonnes que de cartes. */
.wcam-cases--text .wcam-head {
	margin-bottom: 24px;
}

.wcam-cases--text .wcam-cases__grid {
	grid-template-columns: none;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
}

.wcam-cases--text .wcam-cases__body {
	padding: 18px 12px 12px;
}

.wcam-cases--text .wcam-cases__title {
	font-size: 28px;
}

.wcam-cases--text .wcam-cases__text {
	font-size: 14.5px;
}

@media (max-width: 1023px) {
	.wcam-cases--text .wcam-cases__grid {
		grid-auto-flow: row;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.wcam-cases--text .wcam-cases__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wcam-cases__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.wcam-cases__title {
		font-size: 23px;
	}
}

/* Six cartes texte (ex. filaments) : 3 colonnes × 2 lignes. */
@media (min-width: 768px) {
	.wcam-cases--text .wcam-cases__grid:has(> :nth-child(6)) {
		grid-auto-flow: row;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
