.cam-prodotti-gen {
	margin-bottom: 2rem;
}

.cam-prodotti-gen__filters-grid {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(140px, 1fr)) auto;
	gap: 12px 16px;
	align-items: end;
}

.cam-prodotti-gen__filters-actions .btn {
	white-space: nowrap;
}

.cam-prodotti-gen__search-wrap {
	position: relative;
}

.cam-prodotti-gen__search-wrap .form-control {
	padding-right: 2.25rem;
}

.cam-prodotti-gen__search-clear {
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	font-size: 1.25rem;
	line-height: 1;
	color: #6c757d;
	padding: 0;
}

.cam-prodotti-gen__search-clear:hover {
	color: #17324d;
}

.cam-prodotti-gen__empty,
.cam-prodotti-gen--locked .cam-prodotti-gen__locked {
	background: #f8f9fa;
	border-radius: 0.5rem;
}

.cam-prodotti-gen__market + .cam-prodotti-gen__market {
	margin-top: 2rem;
}

.cam-prodotti-gen__market-title {
	font-size: 1.35rem;
	font-weight: 700;
	color: #17324d;
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #17324d;
}

.cam-prodotti-gen__section + .cam-prodotti-gen__section {
	margin-top: 1.5rem;
}

.cam-prodotti-gen__section-title {
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	background: #1a3a6b;
	padding: 0.5rem 0.75rem;
	margin: 0 0 0.75rem;
	border-radius: 0.25rem;
}

.cam-prodotti-gen__category + .cam-prodotti-gen__category {
	margin-top: 1rem;
}

.cam-prodotti-gen__category-title {
	font-size: 0.9rem;
	font-weight: 600;
	color: #17324d;
	background: #e8eef5;
	padding: 0.4rem 0.75rem;
	margin: 0 0 0.75rem;
	border-radius: 0.25rem;
}

.cam-prodotti-gen__product-name {
	font-size: 1rem;
	font-weight: 700;
	color: #17324d;
}

.cam-prodotti-gen__operators th {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #5c6f82;
	border-bottom-width: 1px;
}

.cam-prodotti-gen__operators td {
	vertical-align: middle;
}

.cam-prodotti-gen__catalog.is-filtered-empty .cam-prodotti-gen__product {
	display: none;
}

@media (max-width: 991px) {
	.cam-prodotti-gen__filters-grid {
		grid-template-columns: 1fr 1fr;
	}

	.cam-prodotti-gen__filters-search {
		grid-column: 1 / -1;
	}

	.cam-prodotti-gen__filters-actions {
		grid-column: 1 / -1;
	}
}

@media (max-width: 575px) {
	.cam-prodotti-gen__filters-grid {
		grid-template-columns: 1fr;
	}
}
