
.costa-tipologie-grid {
	display: grid;
	gap: 20px;
	width: 100%;
}

.costa-tipologie-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
	max-width: 1400px;
	margin-inline: auto;
}

.costa-tipologie-grid--many {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.costa-tipologia-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 280px;
	overflow: hidden;
	border-radius: 24px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: 3px 3px 10px rgba(0,0,0,.22) !important;
	text-decoration: none;
	transform: translateZ(0);
}

.costa-tipologia-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.08) 35%, rgba(0,0,0,.50) 100%);
	transition: background .3s ease;
	z-index: 1;
}

.costa-tipologia-card:hover::before {
	background: linear-gradient(180deg, rgba(0,0,0,.04) 25%, rgba(0,0,0,.62) 100%);
}

.costa-tipologia-card__overlay {
	position: absolute;
	inset: auto 0 0;
	height: 56px;
	background: linear-gradient(180deg, #FF812D 0%, #FF6600 100%);
	z-index: 2;
}

.costa-tipologia-card__title {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 10px 14px;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.costa-tipologia-card--no-image {
	background: linear-gradient(135deg, #666, #333);
}

@media (max-width: 1024px) {
	.costa-tipologie-grid--many,
	.costa-tipologie-grid--two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.costa-tipologie-grid--two {
		gap: 28px;
	}

	.costa-tipologia-card {
		min-height: 240px;
	}
}

@media (max-width: 767px) {
	.costa-tipologie-grid--many,
	.costa-tipologie-grid--two {
		grid-template-columns: 1fr;
	}

	.costa-tipologia-card {
		min-height: 210px;
		border-radius: 20px;
	}

	.costa-tipologie-grid--two {
		gap: 20px;
	}

	.costa-tipologia-card__overlay,
	.costa-tipologia-card__title {
		height: 56px;
		min-height: 56px;
	}

	.costa-tipologia-card__title {
		font-size: 18px;
	}
}
