/* Gamme : groupe .eb-model-cards contenant des groupes .eb-modele (image, nom, accroche, caractéristiques, lien).
 * Tout est modifiable dans l'éditeur ; ajouter une carte = dupliquer un groupe .eb-modele. */
.eb-model-cards {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--30);
}
.eb-model-cards > * { margin: 0 !important; }
.eb-modele {
	display: flex !important; flex-direction: column;
	border: 1px solid var(--eb-line);
	border-radius: var(--wp--custom--radius--small);
	background: var(--wp--preset--color--blanc);
	transition: border-color 0.25s;
	--wp--style--block-gap: 0;
}
.eb-modele:hover { border-color: var(--wp--preset--color--anthracite); }
.eb-modele__visual {
	position: relative; aspect-ratio: 4 / 3; overflow: hidden; margin: 0 !important;
	background: var(--wp--preset--color--anthracite) url("../../textures/beton-sombre.jpg") 0 0 / 512px;
}
.eb-modele__visual img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform 0.6s var(--eb-ease); }
.eb-modele:hover .eb-modele__visual img { transform: scale(1.04); }
.eb-modele__visual::before {
	content: ""; position: absolute; z-index: 1; left: 1rem; top: 1rem; width: 30px; height: 29px;
	background: var(--eb-accent);
	-webkit-mask: var(--eb-crochet-mask) center / contain no-repeat; mask: var(--eb-crochet-mask) center / contain no-repeat;
}
.eb-modele__body { padding: var(--wp--preset--spacing--40); display: flex !important; flex-direction: column; gap: 0.6rem; flex: 1; }
.eb-modele__body > * { margin: 0 !important; }
.eb-modele__name { font-size: var(--wp--preset--font-size--large); }
.eb-modele__pitch { color: var(--eb-muted); min-height: 3em; }
.eb-modele__specs { margin: 0.8rem 0 1.2rem !important; --wp--style--block-gap: 0; }
.eb-spec {
	display: flex !important; justify-content: space-between; gap: 1rem;
	padding: 0.6rem 0; border-top: 1px solid var(--eb-line);
	font-size: var(--wp--preset--font-size--small); margin: 0 !important;
}
.eb-spec p { margin: 0; }
.eb-spec p:first-child { color: var(--eb-muted); }
.eb-spec p:last-child { font-variant-numeric: tabular-nums; text-align: right; }
.eb-modele__cta { margin-top: auto !important; font-weight: 600; }
.eb-modele__cta a { text-decoration: none; display: inline-flex; gap: 0.5rem; align-items: center; }
.eb-modele__cta a::after { content: ""; width: 22px; height: 2px; background: var(--eb-accent); transition: width 0.25s var(--eb-ease); }
.eb-modele:hover .eb-modele__cta a::after { width: 36px; }
@media (max-width: 1100px) { .eb-model-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .eb-model-cards { grid-template-columns: 1fr; } }
