/* Card prodotto: box immagine uniforme (stessa tecnica del frontend Medusa).
   Contenitore quadrato fisso + immagine intera centrata (object-fit: contain)
   così le foto piccole o con proporzioni diverse non "rompono" la griglia. */

.wd-product-thumb {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	min-height: 0; /* flex item: impedisce alle foto verticali di allungare il box */
}

.wd-product-thumb > a.wd-product-img-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.wd-product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}

/* Testi allineati: card come colonna flessibile, titolo e categorie a blocchi
   fissi, prezzo e bottone ancorati in basso → griglia "ultra ordinata". */

.wd-product-wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;
}

[class*="title-line-"] .wd-product .wd-entities-title {
	min-height: calc(2 * var(--wd-line-height, 1.4em)); /* 1 o 2 righe, stesso blocco */
}

.wd-product-cats {
	height: 1.5em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.wd-add-btn {
	margin-top: auto; /* prezzo e bottone in fondo, allineati tra card */
}
