/**
 * Featured Properties carousel: equal card height.
 * Fixed image + fixed body height so long title/type don't push the layout.
 */

/* Fixed image height so all cards have same header size */
.houzez-properties-carousel-js .item-header {
	flex: 0 0 auto;
}
.houzez-properties-carousel-js .item-header .listing-image-wrap,
.houzez-properties-carousel-js .item-header .listing-thumb {
	height: 200px;
	overflow: hidden;
}
.houzez-properties-carousel-js .item-header .listing-thumb .image-wrap,
.houzez-properties-carousel-js .item-header .listing-thumb a {
	display: block;
	height: 100%;
}
.houzez-properties-carousel-js .item-header img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Fixed body height: same for every card; overflow hidden */
.houzez-properties-carousel-js .item-body {
	flex: 0 0 auto;
	height: 220px;
	min-height: 220px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* Title: max 2 lines, ellipsis */
.houzez-properties-carousel-js .item-body .item-title,
.houzez-properties-carousel-js .item-body .item-title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
	flex-shrink: 0;
}

/* Property type: single line, ellipsis */
.houzez-properties-carousel-js .item-body > ul.item-amenities.item-amenities-with-icons {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex-shrink: 0;
}
.houzez-properties-carousel-js .item-body > ul.item-amenities.item-amenities-with-icons li {
	display: inline;
	white-space: nowrap;
}

/* Footer stays at bottom */
.houzez-properties-carousel-js .item-footer {
	flex: 0 0 auto;
}
